@@ -194,44 +194,72 @@ test-check-cli:
194
194
exit 1
195
195
fi
196
196
197
-
198
- Docker build master :
199
- image : docker:stable
200
- stage : docker_build
201
- when : on_success
202
- variables :
203
- DOCKER_DRIVER : overlay2
204
- DOCKER_HOST : tcp://docker:2375
205
- only :
206
- - master
207
- - docker_build
208
- - docker_run_checkup_with_upload
197
+ .job_template : &build_image_definition
198
+ image : docker:19
199
+ stage : build-image
200
+ artifacts :
201
+ paths :
202
+ - bin
209
203
services :
210
204
- docker:dind
211
- before_script :
212
- - docker login -u gitlab-ci-token -p "${CI_BUILD_TOKEN}" registry.gitlab.com
213
205
script :
214
- - docker build -t registry.gitlab.com/postgres-ai/postgres-checkup:latest --no-cache=true .
215
- - docker push registry.gitlab.com/postgres-ai/postgres-checkup:latest
216
- after_script :
217
- - docker logout registry.gitlab.com
218
-
219
- Docker build for tag :
220
- image : docker:stable
221
- stage : docker_build
222
- when : on_success
223
- variables :
224
- DOCKER_DRIVER : overlay2
225
- DOCKER_HOST : tcp://docker:2375
206
+ - apk update && apk upgrade && apk add --no-cache bash # TODO(anatoly): Remove dependency.
207
+ - bash ./.ci/docker_build_push.sh
208
+
209
+ .only_var_template : &only_tag_release
226
210
only :
227
211
variables :
228
- - $CI_COMMIT_TAG != null
229
- services :
230
- - docker:dind
231
- before_script :
232
- - docker login -u gitlab-ci-token -p "${CI_BUILD_TOKEN}" registry.gitlab.com
233
- script :
234
- - docker build -t registry.gitlab.com/postgres-ai/postgres-checkup:$CI_COMMIT_TAG --no-cache=true .
235
- - docker push registry.gitlab.com/postgres-ai/postgres-checkup:$CI_COMMIT_TAG
236
- after_script :
237
- - docker logout registry.gitlab.com
212
+ - $CI_COMMIT_TAG =~ /^[0-9.]+$/
213
+
214
+ .only_var_template : &only_tag_rc
215
+ only :
216
+ variables :
217
+ - $CI_COMMIT_TAG =~ /^[0-9.]+[\-_]*[a-zA-Z]+[a-zA-Z0-9.\-_]*[a-zA-Z0-9]+$/
218
+
219
+ .only_var_template : &only_master
220
+ only :
221
+ - master
222
+
223
+ .only_var_template : &only_feature
224
+ only :
225
+ refs :
226
+ - branches
227
+ variables :
228
+ - $CI_COMMIT_REF_SLUG != "master"
229
+
230
+ build-image-feature-server :
231
+ << : *build_image_definition
232
+ << : *only_feature
233
+ variables :
234
+ REGISTRY_USER : " ${CI_REGISTRY_USER}"
235
+ REGISTRY_PASSWORD : " ${CI_REGISTRY_PASSWORD}"
236
+ REGISTRY : " ${CI_REGISTRY}"
237
+ DOCKER_NAME : " registry.gitlab.com/postgres-ai/postgres-checkup"
238
+ TAGS : " ${DOCKER_NAME}:${CI_COMMIT_REF_SLUG}"
239
+
240
+ build-image-master-server :
241
+ << : *build_image_definition
242
+ << : *only_master
243
+ variables :
244
+ DOCKER_NAME : " registry.gitlab.com/postgres-ai/postgres-checkup"
245
+ TAGS : " ${DOCKER_NAME}:master,${DOCKER_NAME}:master-${CI_COMMIT_SHORT_SHA}"
246
+
247
+ build-image-latest-server :
248
+ << : *build_image_definition
249
+ << : *only_tag_release
250
+ variables :
251
+ REGISTRY_USER : " ${DH_CI_REGISTRY_USER}"
252
+ REGISTRY_PASSWORD : " ${DH_CI_REGISTRY_PASSWORD}"
253
+ REGISTRY : " ${DH_CI_REGISTRY}"
254
+ DOCKER_NAME : " postgresai/postgres-checkup"
255
+ TAGS : " ${DOCKER_NAME}:latest,${DOCKER_NAME}:${CI_COMMIT_TAG}"
256
+
257
+ build-image-rc-server :
258
+ << : *build_image_definition
259
+ << : *only_tag_rc
260
+ variables :
261
+ REGISTRY_USER : " ${DH_CI_REGISTRY_USER}"
262
+ REGISTRY_PASSWORD : " ${DH_CI_REGISTRY_PASSWORD}"
263
+ REGISTRY : " ${DH_CI_REGISTRY}"
264
+ DOCKER_NAME : " postgresai/postgres-checkup"
265
+ TAGS : " ${DOCKER_NAME}:${CI_COMMIT_TAG}"
0 commit comments