Skip to content

Commit

Permalink
Fix deployment process
Browse files Browse the repository at this point in the history
  • Loading branch information
begedin committed Feb 12, 2018
1 parent 4f41648 commit e075407
Showing 1 changed file with 112 additions and 22 deletions.
134 changes: 112 additions & 22 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
defaults: &defaults
working_directory: ~/code-corps-api
docker:
- image: circleci/elixir:1.6-node-browsers
- image: circleci/postgres:9.4
environment:
POSTGRES_USER: ubuntu
- image: circleci/ruby:2.3

jobs:
build:
<<: *defaults
working_directory: ~/code-corps-api
docker:
- image: circleci/elixir:1.6-node-browsers
- image: circleci/postgres:9.4
environment:
POSTGRES_USER: ubuntu
steps:
- checkout
- restore_cache:
Expand Down Expand Up @@ -50,8 +46,10 @@ jobs:
- save_cache:
key: v1-build-cache
paths: "_build"
deploy-staging:
<<: *defaults
deploy-remote-development:
working_directory: ~/code-corps-api
docker:
- image: buildpack-deps:trusty
steps:
- checkout
- run:
Expand All @@ -66,20 +64,28 @@ jobs:
git push --force [email protected]:code-corps-remote-development.git HEAD:refs/heads/master
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps-remote-development
heroku restart --app code-corps-remote-development
deploy-staging:
working_directory: ~/code-corps-api
docker:
- image: buildpack-deps:trusty
steps:
- checkout
- run:
name: Run Heroku setup script
command: bash .circleci/setup-heroku.sh
- add_ssh_keys:
fingerprints:
- "48:a0:87:54:ca:75:32:12:c6:9e:a2:77:a4:7a:08:a4"
- run:
name: Push to Staging
command: |
git push --force [email protected]:code-corps-staging.git HEAD:refs/heads/master
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps-staging
heroku restart --app code-corps-staging
- run:
name: Update API Docs
command: |
gem install apiaryio
apiary publish --api-name="codecorpsapidevelop" --path ./blueprint/api.apib
./bin/deploy_docs.sh
deploy-production:
<<: *defaults
working_directory: ~/code-corps-api
docker:
- image: buildpack-deps:trusty
steps:
- checkout
- run:
Expand All @@ -94,17 +100,83 @@ jobs:
git push --force [email protected]:code-corps.git HEAD:refs/heads/master
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps
heroku restart --app code-corps
deploy-staging-apiary:
working_directory: ~/code-corps-api
docker:
- image: circleci/ruby:2.4
steps:
- checkout
- run:
name: Install Apiary
command: gem install apiaryio
- run:
name: Deploy API Docs
command: apiary publish --api-name="codecorpsapidevelop" --path ./blueprint/api.apib
deploy-production-apiary:
working_directory: ~/code-corps-api
docker:
- image: circleci/ruby:2.4
steps:
- checkout
- run:
name: Install Apiary
command: gem install apiaryio
- run:
name: Deploy API Docs
command: apiary publish --api-name="codecorpsapi" --path ./blueprint/api.apib
deploy-exdocs:
working_directory: ~/code-corps-api
docker:
- image: circleci/elixir:1.6
steps:
- checkout
- restore_cache:
keys:
- v1-mix-cache-{{ .Branch }}-{{ checksum "mix.lock" }}
- v1-mix-cache-{{ .Branch }}
- v1-mix-cache
- restore_cache:
keys:
- v1-build-cache-{{ .Branch }}
- v1-build-cache
- run: mix local.hex --force
- run: mix local.rebar
- run: mix deps.get
- run:
name: Update API Docs
name: Identify as user on GitHub
command: |
gem install apiaryio
apiary publish --api-name="codecorpsapi" --path ./blueprint/api.apib
git config --global user.email "[email protected]"
git config --global user.name "joshsmith"
- run:
name: Deploy Docs
command: ./bin/deploy_docs.sh
- save_cache:
key: v1-mix-cache-{{ .Branch }}-{{ checksum "mix.lock" }}
paths: "deps"
- save_cache:
key: v1-mix-cache-{{ .Branch }}
paths: "deps"
- save_cache:
key: v1-mix-cache
paths: "deps"
- save_cache:
key: v1-build-cache-{{ .Branch }}
paths: "_build"
- save_cache:
key: v1-build-cache
paths: "_build"

workflows:
version: 2
build-deploy:
jobs:
- build
- deploy-remote-development:
requires:
- build
filters:
branches:
only: develop
- deploy-staging:
requires:
- build
Expand All @@ -117,3 +189,21 @@ workflows:
filters:
branches:
only: master
- deploy-staging-apiary:
requires:
- build
filters:
branches:
only: develop
- deploy-production-apiary:
requires:
- build
filters:
branches:
only: master
- deploy-exdocs:
requires:
- build
filters:
branches:
only: develop

0 comments on commit e075407

Please sign in to comment.