Skip to content

Commit e788fc6

Browse files
Circleci for storybook.deriv.app (#3601)
* Circleci for storybook.deriv.app * multiple Dockerfile * multiple Dockerfile * fix circleci * use --file for docker build Signed-off-by: Afshin Paydar <afshin.paydar@binary.com> * change 'target_branch' to 'version_name' for readability * using context for staging Co-authored-by: Mustofa Ghaleb Amami (Front End) <52783019+mustofa-binary@users.noreply.github.com>
1 parent e082afc commit e788fc6

File tree

2 files changed

+59
-10
lines changed

2 files changed

+59
-10
lines changed

.circleci/config.yml

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,13 @@ commands:
8686
name: "Build all packages for deriv dashboard"
8787
command: npm run build:dashboard
8888

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+
8996
notify_slack:
9097
description: "Notify slack"
9198
steps:
@@ -98,14 +105,14 @@ commands:
98105
versioning:
99106
description: "Version the branch"
100107
parameters:
101-
target_branch:
108+
version_name:
102109
type: string
103110
steps:
104111
- attach_workspace:
105112
at: packages/core/dist
106113
- run:
107114
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
109116

110117
docker_build_push:
111118
description: "Build and Push image to docker hub"
@@ -116,14 +123,17 @@ commands:
116123
docker_image_name:
117124
type: string
118125
default: "deriv-app"
126+
docker_file:
127+
type: string
128+
default: "Dockerfile"
119129
steps:
120130
- setup_remote_docker:
121131
docker_layer_caching: true
122132
- run:
123133
name: Building docker image
124134
command: |
125135
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 >> .
127137
- run:
128138
name: Pushing Image to docker hub
129139
command: |
@@ -136,6 +146,9 @@ commands:
136146
k8s_namespace:
137147
type: string
138148
default: "deriv-app-staging"
149+
k8s_service:
150+
type: string
151+
default: "deriv-app"
139152
steps:
140153
- k8s/install-kubectl
141154
- run:
@@ -146,7 +159,7 @@ commands:
146159
git clone https://github.com/binary-com/devops-ci-scripts
147160
cd devops-ci-scripts/k8s-build_tools
148161
echo $CA_CRT | base64 --decode > ca.crt
149-
./release.sh deriv-app ${TAG}
162+
./release.sh << parameters.k8s_service >> ${TAG}
150163
jobs:
151164
build:
152165
docker:
@@ -164,6 +177,26 @@ jobs:
164177
- npm_install_from_cache
165178
- build_dashboard
166179

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+
167200
release_staging:
168201
docker:
169202
- image: circleci/node:12.18.0-stretch
@@ -172,7 +205,7 @@ jobs:
172205
- npm_install_from_cache
173206
- build
174207
- versioning:
175-
target_branch: staging
208+
version_name: staging
176209
- docker_build_push
177210
- k8s_deploy
178211
- notify_slack
@@ -187,7 +220,7 @@ jobs:
187220
- npm_install_from_cache
188221
- build_dashboard
189222
- versioning:
190-
target_branch: staging-dashboard
223+
version_name: staging-dashboard
191224
- docker_build_push:
192225
docker_image_name: deriv-app-dashboard
193226
docker_image_latest_tag: latest-staging-dashboard
@@ -203,14 +236,14 @@ jobs:
203236
- npm_install_from_cache
204237
- build
205238
- versioning:
206-
target_branch: production
239+
version_name: production
207240
- docker_build_push:
208241
docker_image_latest_tag: latest
209242
- k8s_deploy:
210243
k8s_namespace: "deriv-app-production"
211244
- notify_slack
212245
environment:
213-
NODE_ENV: staging
246+
NODE_ENV: production
214247

215248
release_production_dashboard:
216249
docker:
@@ -220,13 +253,13 @@ jobs:
220253
- npm_install_from_cache
221254
- build_dashboard
222255
- versioning:
223-
target_branch: production-dashboard
256+
version_name: production-dashboard
224257
- docker_build_push:
225258
docker_image_name: deriv-app-dashboard
226259
docker_image_latest_tag: latest
227260
- notify_slack
228261
environment:
229-
NODE_ENV: staging
262+
NODE_ENV: production
230263

231264
build_and_test:
232265
docker:
@@ -240,13 +273,25 @@ jobs:
240273
command: npm test
241274

242275
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+
243286
release_staging:
244287
jobs:
245288
- release_staging:
289+
context: binary-frontend-artifact-upload
246290
filters:
247291
branches:
248292
only: /^master$/
249293
- release_staging_dashboard:
294+
context: binary-frontend-artifact-upload
250295
filters:
251296
branches:
252297
only: /^master$/

Dockerfile-storybook

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM nginx:alpine
2+
COPY ./packages/components/.out/ /usr/share/nginx/html
3+
COPY ./default.conf /etc/nginx/conf.d/default.conf
4+
RUN chown -R nginx:nginx /usr/share/nginx/html

0 commit comments

Comments
 (0)