ci(gitlab-ci): add wait job for frontend container in merge request pipelines
This commit is contained in:
parent
5551f869e3
commit
0488edf7ae
@ -79,13 +79,14 @@ setup:containers:frontend:
|
||||
needs:
|
||||
- setup:dynamic
|
||||
image: ${IMAGE_BUILDER}
|
||||
script:
|
||||
before_script: &container-before
|
||||
- FRONTEND_IMAGE_VERSION=`cat frontend-image-version`
|
||||
- IMAGE_TAG=frontend/${CI_COMMIT_REF_SLUG}:${FRONTEND_IMAGE_VERSION}
|
||||
- REGISTRY_DESTINATION=${CI_REGISTRY_IMAGE}/frontend/${CI_COMMIT_REF_SLUG}:${FRONTEND_IMAGE_VERSION}
|
||||
script:
|
||||
- curl --request GET --header "PRIVATE-TOKEN:${REGISTRY_AUTH_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/registry/repositories?tags=true" > .gitlab-ci/.container-registry-contents.json
|
||||
- cat .gitlab-ci/.container-registry-contents.json
|
||||
- IMAGE_EXISTS=`grep \""${REGISTRY_DESTINATION}"\" .gitlab-ci/.container-registry-contents.json`
|
||||
- cat .gitlab-ci/.container-registry-contents.json
|
||||
- echo ${IMAGE_EXISTS}
|
||||
- echo ${CI_JOB_MANUAL}
|
||||
- test ${CI_JOB_MANUAL} == true && echo "Force rebuilding container."
|
||||
@ -98,7 +99,24 @@ setup:containers:frontend:
|
||||
echo "Image ${IMAGE_TAG} already exists in the container registry. Skipping build."
|
||||
fi
|
||||
rules:
|
||||
- if: $CI_MERGE_REQUEST_ID
|
||||
when: never
|
||||
- when: always
|
||||
setup:containers:frontend:wait:
|
||||
stage: setup
|
||||
needs:
|
||||
- setup:dynamic
|
||||
before_script: *container-before
|
||||
script:
|
||||
- >
|
||||
while ! curl --request GET --header "PRIVATE-TOKEN:${REGISTRY_AUTH_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/registry/repositories?tags=true" | grep \""${REGISTRY_DESTINATION}"\" ; do
|
||||
echo "Waiting for container ${IMAGE_TAG} to appear in the container registry..."
|
||||
sleep 5
|
||||
done
|
||||
rules:
|
||||
- if: $CI_MERGE_REQUEST_ID
|
||||
when: always
|
||||
- when: never
|
||||
|
||||
# TODO: switch to exec logic as above (see frontend container)
|
||||
setup:containers:backend: &containers-backend
|
||||
|
||||
Reference in New Issue
Block a user