ci(gitlab-ci): work on container rebuilds

This commit is contained in:
Sarah Vaupel 2024-09-04 04:52:27 +02:00
parent 2f8e6bc30b
commit c3722693ad

View File

@ -87,20 +87,22 @@ setup:containers:frontend:
- IMAGE_TAG=frontend/${CI_COMMIT_REF_SLUG}:${FRONTEND_IMAGE_VERSION}
- REGISTRY_DESTINATION=${CI_REGISTRY_IMAGE}/frontend/${CI_COMMIT_REF_SLUG}:${FRONTEND_IMAGE_VERSION}
- IMAGE_EXISTS=`curl "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/registry/repositories?tags=true" | grep \""${REGISTRY_DESTINATION}"\"`
- echo ${IMAGE_EXISTS}
- echo ${FORCE_REBUILD_IMAGE}
- test ${FORCE_REBUILD_IMAGE} == true && echo "Force rebuilding container."
- >
if [ -z ${IMAGE_EXISTS} -a ${FORCE_REBUILD_IMAGE} == false ] ; then
echo "Image ${IMAGE_TAG} already exists in the container registry. Skipping build."
else
if [ -z ${IMAGE_EXISTS} -o ${FORCE_REBUILD_IMAGE} == true ] ; then
echo "Building image..."
buildah bud -t ${IMAGE_TAG} --build-arg PROJECT_DIR=${CI_PROJECT_DIR} --volume ${CI_PROJECT_DIR}:/tmp/${CI_PROJECT_DIR} --file docker/frontend/Dockerfile
buildah push --creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" ${IMAGE_TAG} ${REGISTRY_DESTINATION}
else
echo "Image ${IMAGE_TAG} already exists in the container registry. Skipping build."
fi
rules:
- when: always
- when: manual
variables:
FORCE_REBUILD_IMAGE: true
- when: manual
- when: always
variables:
FORCE_REBUILD_IMAGE: false
interruptible: false