1
- defaults : &defaults
2
- working_directory : ~/code-corps-api
3
- docker :
4
- - image : circleci/elixir:1.6-node-browsers
5
- - image : circleci/postgres:9.4
6
- environment :
7
- POSTGRES_USER : ubuntu
8
- - image : circleci/ruby:2.3
9
-
10
1
jobs :
11
2
build :
12
- << : *defaults
3
+ working_directory : ~/code-corps-api
4
+ docker :
5
+ - image : circleci/elixir:1.6-node-browsers
6
+ - image : circleci/postgres:9.4
7
+ environment :
8
+ POSTGRES_USER : ubuntu
13
9
steps :
14
10
- checkout
15
11
- restore_cache :
50
46
- save_cache :
51
47
key : v1-build-cache
52
48
paths : " _build"
53
- deploy-staging :
54
- << : *defaults
49
+ deploy-remote-development :
55
50
steps :
56
51
- checkout
57
52
- run :
@@ -66,20 +61,36 @@ jobs:
66
61
git push --force [email protected] :code-corps-remote-development.git HEAD:refs/heads/master
67
62
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps-remote-development
68
63
heroku restart --app code-corps-remote-development
64
+ deploy-staging :
65
+ steps :
66
+ - checkout
67
+ - run :
68
+ name : Run Heroku setup script
69
+ command : bash .circleci/setup-heroku.sh
70
+ - add_ssh_keys :
71
+ fingerprints :
72
+ - " 48:a0:87:54:ca:75:32:12:c6:9e:a2:77:a4:7a:08:a4"
69
73
- run :
70
74
name : Push to Staging
71
75
command : |
72
76
git push --force [email protected] :code-corps-staging.git HEAD:refs/heads/master
73
77
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps-staging
74
78
heroku restart --app code-corps-staging
79
+ deploy-staging-docs :
80
+ working_directory : ~/code-corps-api
81
+ docker :
82
+ - image : circleci/ruby:2.4
83
+ steps :
75
84
- run :
76
- name : Update API Docs
77
- command : |
78
- gem install apiaryio
79
- apiary publish --api-name="codecorpsapidevelop" --path ./blueprint/api.apib
80
- ./bin/deploy_docs.sh
85
+ name : Install Apiary
86
+ command : gem install apiaryio
87
+ - run :
88
+ name : Build API Docs
89
+ command : apiary publish --api-name="codecorpsapidevelop" --path ./blueprint/api.apib
90
+ - run :
91
+ name : Deploy Docs
92
+ command : ./bin/deploy_docs.sh
81
93
deploy-production :
82
- << : *defaults
83
94
steps :
84
95
- checkout
85
96
- run :
@@ -94,17 +105,32 @@ jobs:
94
105
git push --force [email protected] :code-corps.git HEAD:refs/heads/master
95
106
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps
96
107
heroku restart --app code-corps
108
+ deploy-production-docs :
109
+ working_directory : ~/code-corps-api
110
+ docker :
111
+ - image : circleci/ruby:2.4
112
+ steps :
97
113
- run :
98
- name : Update API Docs
99
- command : |
100
- gem install apiaryio
101
- apiary publish --api-name="codecorpsapi" --path ./blueprint/api.apib
114
+ name : Install Apiary
115
+ command : gem install apiaryio
116
+ - run :
117
+ name : Build API Docs
118
+ command : apiary publish --api-name="codecorpsapi" --path ./blueprint/api.apib
119
+ - run :
120
+ name : Deploy Docs
121
+ command : ./bin/deploy_docs.sh
102
122
103
123
workflows :
104
124
version : 2
105
125
build-deploy :
106
126
jobs :
107
127
- build
128
+ - deploy-remote-development :
129
+ requires :
130
+ - build
131
+ filters :
132
+ branches :
133
+ only : develop
108
134
- deploy-staging :
109
135
requires :
110
136
- build
@@ -117,3 +143,15 @@ workflows:
117
143
filters :
118
144
branches :
119
145
only : master
146
+ - deploy-staging-docs :
147
+ requires :
148
+ - deploy-staging
149
+ filtes :
150
+ branches :
151
+ only : develop
152
+ - deploy-production-docs :
153
+ requires :
154
+ - deploy-production
155
+ filtes :
156
+ branches :
157
+ only : develop
0 commit comments