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 :
50
+ working_directory : ~/code-corps-api
51
+ docker :
52
+ - image : buildpack-deps:trusty
55
53
steps :
56
54
- checkout
57
55
- run :
@@ -66,20 +64,43 @@ jobs:
66
64
git push --force [email protected] :code-corps-remote-development.git HEAD:refs/heads/master
67
65
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps-remote-development
68
66
heroku restart --app code-corps-remote-development
67
+ deploy-staging :
68
+ working_directory : ~/code-corps-api
69
+ docker :
70
+ - image : buildpack-deps:trusty
71
+ steps :
72
+ - checkout
73
+ - run :
74
+ name : Run Heroku setup script
75
+ command : bash .circleci/setup-heroku.sh
76
+ - add_ssh_keys :
77
+ fingerprints :
78
+ - " 48:a0:87:54:ca:75:32:12:c6:9e:a2:77:a4:7a:08:a4"
69
79
- run :
70
80
name : Push to Staging
71
81
command : |
72
82
git push --force [email protected] :code-corps-staging.git HEAD:refs/heads/master
73
83
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps-staging
74
84
heroku restart --app code-corps-staging
85
+ deploy-staging-docs :
86
+ working_directory : ~/code-corps-api
87
+ docker :
88
+ - image : circleci/ruby:2.4
89
+ steps :
90
+ - checkout
75
91
- 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
92
+ name : Install Apiary
93
+ command : gem install apiaryio
94
+ - run :
95
+ name : Build API Docs
96
+ command : apiary publish --api-name="codecorpsapidevelop" --path ./blueprint/api.apib
97
+ - run :
98
+ name : Deploy Docs
99
+ command : ./bin/deploy_docs.sh
81
100
deploy-production :
82
- << : *defaults
101
+ working_directory : ~/code-corps-api
102
+ docker :
103
+ - image : buildpack-deps:trusty
83
104
steps :
84
105
- checkout
85
106
- run :
@@ -94,17 +115,33 @@ jobs:
94
115
git push --force [email protected] :code-corps.git HEAD:refs/heads/master
95
116
heroku run "POOL_SIZE=2 mix ecto.migrate" --app code-corps
96
117
heroku restart --app code-corps
118
+ deploy-production-docs :
119
+ working_directory : ~/code-corps-api
120
+ docker :
121
+ - image : circleci/ruby:2.4
122
+ steps :
123
+ - checkout
97
124
- run :
98
- name : Update API Docs
99
- command : |
100
- gem install apiaryio
101
- apiary publish --api-name="codecorpsapi" --path ./blueprint/api.apib
125
+ name : Install Apiary
126
+ command : gem install apiaryio
127
+ - run :
128
+ name : Build API Docs
129
+ command : apiary publish --api-name="codecorpsapi" --path ./blueprint/api.apib
130
+ - run :
131
+ name : Deploy Docs
132
+ command : ./bin/deploy_docs.sh
102
133
103
134
workflows :
104
135
version : 2
105
136
build-deploy :
106
137
jobs :
107
138
- build
139
+ - deploy-remote-development :
140
+ requires :
141
+ - build
142
+ filters :
143
+ branches :
144
+ only : develop
108
145
- deploy-staging :
109
146
requires :
110
147
- build
@@ -117,3 +154,15 @@ workflows:
117
154
filters :
118
155
branches :
119
156
only : master
157
+ - deploy-staging-docs :
158
+ requires :
159
+ - build
160
+ filters :
161
+ branches :
162
+ only : develop
163
+ - deploy-production-docs :
164
+ requires :
165
+ - build
166
+ filters :
167
+ branches :
168
+ only : master
0 commit comments