ci(gitlab-ci): make frontend and backend images dependent on resprective package lists

This commit is contained in:
Sarah Vaupel 2024-08-26 14:26:40 +02:00
parent 476e4ab7b9
commit b5635fe992

View File

@ -26,6 +26,18 @@
variables:
IMAGE_BUILDER: quay.io/buildah/stable:latest
FRONTEND_IMAGE_DEPENDENCIES:
docker/frontend/Dockerfile
package.json
package-lock.json
webpack.config.js
BACKEND_IMAGE_DEPENDENCIES:
docker/backend/Dockerfile
package.yaml
package.yaml.lock
stack.yaml
stack.yaml.lock
default:
@ -54,8 +66,8 @@ setup:dynamic:
- apt-get -y update
- apt-get -y install git
script:
- FRONTEND_IMAGE_VERSION=`git log docker/frontend/Dockerfile | grep '^commit' | wc --lines | tee frontend-image-version`
- BACKEND_IMAGE_VERSION=`git log docker/backend/Dockerfile | grep '^commit' | wc --lines | tee backend-image-version`
- FRONTEND_IMAGE_VERSION=`git log ${FRONTEND_IMAGE_DEPENDENCIES} | grep '^commit' | wc --lines | tee frontend-image-version`
- BACKEND_IMAGE_VERSION=`git log ${BACKEND_IMAGE_DEPENDENCIES} | grep '^commit' | wc --lines | tee backend-image-version`
- cat .gitlab-ci/frontend.yml | .gitlab-ci/dynamci.pl FRONTEND_IMAGE_VERSION=${FRONTEND_IMAGE_VERSION} > frontend.yml
- cat .gitlab-ci/backend.yml | .gitlab-ci/dynamci.pl BACKEND_IMAGE_VERSION=${BACKEND_IMAGE_VERSION} > backend.yml
artifacts:
@ -78,7 +90,8 @@ setup:containers:frontend: &containers-frontend
- buildah push --creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" frontend/${CI_COMMIT_REF_SLUG}:${FRONTEND_IMAGE_VERSION} ${CI_REGISTRY_IMAGE}/frontend/${CI_COMMIT_REF_SLUG}:${FRONTEND_IMAGE_VERSION}
rules:
- changes:
- docker/frontend/Dockerfile
paths:
- ${FRONTEND_IMAGE_DEPENDENCIES}
interruptible: false
setup:containers:frontend:manual:
<<: *containers-frontend
@ -97,7 +110,8 @@ setup:containers:backend: &containers-backend
- buildah push --creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" backend/${CI_COMMIT_REF_SLUG}:${BACKEND_IMAGE_VERSION} ${CI_REGISTRY_IMAGE}/backend/${CI_COMMIT_REF_SLUG}:${BACKEND_IMAGE_VERSION}
rules:
- changes:
- docker/backend/Dockerfile
paths:
- ${BACKEND_IMAGE_DEPENDENCIES}
interruptible: false
setup:containers:backend:manual:
<<: *containers-backend