setup staging deploy

fixes #368
This commit is contained in:
Sérgio Ramos 2017-03-21 14:41:30 +00:00 committed by Sérgio Ramos
parent 2ef8437e1c
commit e82b3f528c
8 changed files with 174 additions and 21 deletions

View File

@ -6,7 +6,7 @@
#
set -euo pipefail
# Beware of CDPATH gotchas causing cd not to work correctly when a user
# Beware of CDPATH gotchas causing cd not to work correctly when a user
# has set this in their environment
# https://bosker.wordpress.com/2012/02/12/bash-scripters-beware-of-the-cdpath/
unset CDPATH
@ -27,4 +27,4 @@ export DOCKER_CERT_PATH=$_DOCKER_CERT_PATH
export DOCKER_TLS_VERIFY=
docker-compose pull
docker-compose up -d
COMPOSE_PROJECT_NAME=$(CIRCLE_BRANCH) docker-compose up -d

View File

@ -8,7 +8,7 @@ machine:
services:
- docker
node:
version: 6.9.3
version: 7.7.3
dependencies:
pre:
@ -33,7 +33,7 @@ test:
- make -j2 lint-ci test-ci
deployment:
production: # just a label; label names are completely up to you
development:
branch: master
commands:
- ./bin/docker-login
@ -41,9 +41,11 @@ deployment:
- make -j2 build
- make -j2 push
- ./bin/deploy
## Custom notifications
# notify:
# webhooks:
# # A list of hashes representing hooks. Only the url field is supported.
# - url: https://someurl.com/hooks/circle
staging:
branch: staging
commands:
- ./bin/docker-login
- ./bin/on-changes-publish-ui
- make -j2 build
- make -j2 push
- ./bin/deploy

View File

@ -34,7 +34,7 @@ start:
.PHONY: build
build:
docker build -t quay.io/yldio/joyent-dashboard-$(NAME) .
docker build -t quay.io/yldio/joyent-dashboard-$(NAME):$(CIRCLE_BRANCH) .
.PHONY: push
push:

View File

@ -27,7 +27,7 @@ consul:
# CloudAPI GraphQL
#############################################################################
cloudapi:
image: quay.io/yldio/joyent-dashboard-cloudapi-graphql:latest
image: quay.io/yldio/joyent-dashboard-cloudapi-graphql:$CIRCLE_BRANCH
mem_limit: 128m
labels:
- triton.cns.services=cloudapi
@ -42,7 +42,7 @@ cloudapi:
# Frontend
#############################################################################
frontend:
image: quay.io/yldio/joyent-dashboard-frontend:latest
image: quay.io/yldio/joyent-dashboard-frontend:$CIRCLE_BRANCH
mem_limit: 512m
labels:
- triton.cns.services=frontend
@ -57,7 +57,7 @@ frontend:
# UI
#############################################################################
ui:
image: quay.io/yldio/joyent-dashboard-ui:latest
image: quay.io/yldio/joyent-dashboard-ui:$CIRCLE_BRANCH
mem_limit: 512m
labels:
- triton.cns.services=ui
@ -101,7 +101,7 @@ prometheus:
# it is included here for demo purposes and is not required
#############################################################################
docs:
image: quay.io/yldio/joyent-portal-docs
image: quay.io/yldio/joyent-portal-docs:$CIRCLE_BRANCH
restart: always
mem_limit: 128m
env_file: .env

View File

@ -22,12 +22,12 @@ help:
.PHONY: build
build:
docker build -t quay.io/yldio/joyent-portal-$(NAME) .
docker build -t quay.io/yldio/joyent-portal-$(NAME):$(CIRCLE_BRANCH) .
.PHONY: push
push:
docker push quay.io/yldio/joyent-portal-$(NAME)
.PHONY: test
test:
@ -35,13 +35,13 @@ test:
test-ci:
.PHONY: install
install:
install:
.PHONY: start
start:
.PHONY: install-production
install-production:
install-production:
.PHONY: clean
clean:

151
frontend/.dockerignore Normal file
View File

@ -0,0 +1,151 @@
### Bower ###
bower_components
.bower-cache
.bower-registry
.bower-tmp
### Git ###
*.orig
### macOS ###
*.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### Node ###
# Logs
logs
*.log
npm-debug.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules
jspm_packages
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
### SublimeText ###
# cache files for sublime text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# workspace files are user-specific
*.sublime-workspace
# project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using SublimeText
# *.sublime-project
# sftp configuration file
sftp-config.json
# Package control specific files
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
bh_unicode_properties.cache
# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
### Vim ###
# swap
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags
### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
### Application Specific ###
.env
# PostCSS
*.postcss.js

View File

@ -45,7 +45,7 @@ endif
.PHONY: build
build:
docker build -t quay.io/yldio/joyent-dashboard-$(NAME) .
docker build -t quay.io/yldio/joyent-dashboard-$(NAME):$(CIRCLE_BRANCH) .
.PHONY: push
push:

View File

@ -46,7 +46,7 @@ compile: install
.PHONY: build
build:
docker build -t quay.io/yldio/joyent-dashboard-$(NAME) .
docker build -t quay.io/yldio/joyent-dashboard-$(NAME):$(CIRCLE_BRANCH) .
.PHONY: push
push: