Build docker image only when necessary

This commit is contained in:
Jakob Lechner 2023-10-01 19:59:03 +00:00
parent f4eee886e9
commit a649d9686e
No known key found for this signature in database
GPG key ID: 996082EFB5906C10

View file

@ -6,7 +6,7 @@ variables:
PACKER_VERSION: 1.4.3 PACKER_VERSION: 1.4.3
ANNOUNCE: http://labsync.lab.fablab-nea.de:6969/announce ANNOUNCE: http://labsync.lab.fablab-nea.de:6969/announce
WEBSEED: http://labsync.lab.fablab-nea.de/labsync/$CI_COMMIT_REF_NAME/$CI_PIPELINE_ID/images WEBSEED: http://labsync.lab.fablab-nea.de/labsync/$CI_COMMIT_REF_NAME/$CI_PIPELINE_ID/images
DOCKER_IMAGE_BUILDER: ${CI_REGISTRY_IMAGE}/labsync-builder:$CI_COMMIT_REF_SLUG DOCKER_IMAGE_BUILDER: ${CI_REGISTRY_IMAGE}/labsync-builder:main
DOCKER_IMAGE_SECURITY_SCANNER: ${CI_REGISTRY_IMAGE}/security-scanner:$CI_COMMIT_REF_SLUG DOCKER_IMAGE_SECURITY_SCANNER: ${CI_REGISTRY_IMAGE}/security-scanner:$CI_COMMIT_REF_SLUG
DOCKER_TLS_CERTDIR: "" DOCKER_TLS_CERTDIR: ""
@ -21,14 +21,26 @@ dockerimage_builder:
- apk add --no-cache make - apk add --no-cache make
services: services:
- docker:dind - docker:dind
variables:
DOCKER_IMAGE_BUILDER: ${CI_REGISTRY_IMAGE}/labsync-builder:$CI_COMMIT_REF_SLUG
script: script:
- docker pull $DOCKER_IMAGE_BUILDER || true - docker pull $DOCKER_IMAGE_BUILDER || true
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- make builderimg - make builderimg
- docker push $DOCKER_IMAGE_BUILDER - docker push $DOCKER_IMAGE_BUILDER
except: - echo "DOCKER_IMAGE_BUILDER=$DOCKER_IMAGE_BUILDER" >> build.env
refs: artifacts:
- schedules reports:
dotenv: build.env
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
when: on_success
- if:
changes:
paths:
- builder
compare_to: main
when: on_success
dockerimage_security_scanner: dockerimage_security_scanner:
stage: prepare stage: prepare