@@ -86,6 +86,13 @@ commands:
86
86
name : " Build all packages for deriv dashboard"
87
87
command : npm run build:dashboard
88
88
89
+ build_storybook :
90
+ description : " Build storybook"
91
+ steps :
92
+ - run :
93
+ name : " Build all packages for deriv storybook"
94
+ command : npm run build:storybook
95
+
89
96
notify_slack :
90
97
description : " Notify slack"
91
98
steps :
@@ -98,14 +105,14 @@ commands:
98
105
versioning :
99
106
description : " Version the branch"
100
107
parameters :
101
- target_branch :
108
+ version_name :
102
109
type : string
103
110
steps :
104
111
- attach_workspace :
105
112
at : packages/core/dist
106
113
- run :
107
114
name : Tag
108
- command : echo "<< parameters.target_branch >>-$(date -u +"%Y-%m-%dT%H:%M:%SZ")" > packages/core/dist/version
115
+ command : echo "<< parameters.version_name >>-$(date -u +"%Y-%m-%dT%H:%M:%SZ")" > packages/core/dist/version
109
116
110
117
docker_build_push :
111
118
description : " Build and Push image to docker hub"
@@ -116,14 +123,17 @@ commands:
116
123
docker_image_name :
117
124
type : string
118
125
default : " deriv-app"
126
+ docker_file :
127
+ type : string
128
+ default : " Dockerfile"
119
129
steps :
120
130
- setup_remote_docker :
121
131
docker_layer_caching : true
122
132
- run :
123
133
name : Building docker image
124
134
command : |
125
135
TAG=${CIRCLE_TAG:-$CIRCLE_SHA1}
126
- docker build -t ${DOCKHUB_ORGANISATION}/<< parameters.docker_image_name >>:${TAG} -t ${DOCKHUB_ORGANISATION}/<< parameters.docker_image_name >>:<< parameters.docker_image_latest_tag >> .
136
+ docker build -t ${DOCKHUB_ORGANISATION}/<< parameters.docker_image_name >>:${TAG} -t ${DOCKHUB_ORGANISATION}/<< parameters.docker_image_name >>:<< parameters.docker_image_latest_tag >> -f << parameters.docker_file >> .
127
137
- run :
128
138
name : Pushing Image to docker hub
129
139
command : |
@@ -136,6 +146,9 @@ commands:
136
146
k8s_namespace :
137
147
type : string
138
148
default : " deriv-app-staging"
149
+ k8s_service :
150
+ type : string
151
+ default : " deriv-app"
139
152
steps :
140
153
- k8s/install-kubectl
141
154
- run :
@@ -146,7 +159,7 @@ commands:
146
159
git clone https://github.com/binary-com/devops-ci-scripts
147
160
cd devops-ci-scripts/k8s-build_tools
148
161
echo $CA_CRT | base64 --decode > ca.crt
149
- ./release.sh deriv-app ${TAG}
162
+ ./release.sh << parameters.k8s_service >> ${TAG}
150
163
jobs :
151
164
build :
152
165
docker :
@@ -164,6 +177,26 @@ jobs:
164
177
- npm_install_from_cache
165
178
- build_dashboard
166
179
180
+ release_storybook :
181
+ docker :
182
+ - image : circleci/node:12.18.0-stretch
183
+ steps :
184
+ - git_checkout_from_cache
185
+ - npm_install_from_cache
186
+ - build_storybook
187
+ - versioning :
188
+ version_name : storybook
189
+ - docker_build_push :
190
+ docker_image_latest_tag : latest
191
+ docker_image_name : " deriv-app-storybook"
192
+ docker_file : " Dockerfile-storybook"
193
+ - k8s_deploy :
194
+ k8s_namespace : " deriv-app-storybook-production"
195
+ k8s_service : " deriv-app-storybook"
196
+ - notify_slack
197
+ environment :
198
+ NODE_ENV : production
199
+
167
200
release_staging :
168
201
docker :
169
202
- image : circleci/node:12.18.0-stretch
@@ -172,7 +205,7 @@ jobs:
172
205
- npm_install_from_cache
173
206
- build
174
207
- versioning :
175
- target_branch : staging
208
+ version_name : staging
176
209
- docker_build_push
177
210
- k8s_deploy
178
211
- notify_slack
@@ -187,7 +220,7 @@ jobs:
187
220
- npm_install_from_cache
188
221
- build_dashboard
189
222
- versioning :
190
- target_branch : staging-dashboard
223
+ version_name : staging-dashboard
191
224
- docker_build_push :
192
225
docker_image_name : deriv-app-dashboard
193
226
docker_image_latest_tag : latest-staging-dashboard
@@ -203,14 +236,14 @@ jobs:
203
236
- npm_install_from_cache
204
237
- build
205
238
- versioning :
206
- target_branch : production
239
+ version_name : production
207
240
- docker_build_push :
208
241
docker_image_latest_tag : latest
209
242
- k8s_deploy :
210
243
k8s_namespace : " deriv-app-production"
211
244
- notify_slack
212
245
environment :
213
- NODE_ENV : staging
246
+ NODE_ENV : production
214
247
215
248
release_production_dashboard :
216
249
docker :
@@ -220,13 +253,13 @@ jobs:
220
253
- npm_install_from_cache
221
254
- build_dashboard
222
255
- versioning :
223
- target_branch : production-dashboard
256
+ version_name : production-dashboard
224
257
- docker_build_push :
225
258
docker_image_name : deriv-app-dashboard
226
259
docker_image_latest_tag : latest
227
260
- notify_slack
228
261
environment :
229
- NODE_ENV : staging
262
+ NODE_ENV : production
230
263
231
264
build_and_test :
232
265
docker :
@@ -240,13 +273,25 @@ jobs:
240
273
command : npm test
241
274
242
275
workflows :
276
+ release_storybook :
277
+ jobs :
278
+ - release_storybook :
279
+ context : binary-frontend-artifact-upload
280
+ filters :
281
+ branches :
282
+ ignore : /.*/
283
+ tags :
284
+ only : /^storybook.*/
285
+
243
286
release_staging :
244
287
jobs :
245
288
- release_staging :
289
+ context : binary-frontend-artifact-upload
246
290
filters :
247
291
branches :
248
292
only : /^master$/
249
293
- release_staging_dashboard :
294
+ context : binary-frontend-artifact-upload
250
295
filters :
251
296
branches :
252
297
only : /^master$/
0 commit comments