From 5ba1998097c4831d02568a9ab6524877e8c585e1 Mon Sep 17 00:00:00 2001 From: Wolfram Gulde Date: Wed, 8 Dec 2021 15:24:55 +0100 Subject: [PATCH] feat(Version): add versionfile workflow --- container-publish.gitlab-ci.yml | 36 ++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/container-publish.gitlab-ci.yml b/container-publish.gitlab-ci.yml index 96c45be..f4c47e2 100644 --- a/container-publish.gitlab-ci.yml +++ b/container-publish.gitlab-ci.yml @@ -1,5 +1,16 @@ +.container-publish-common-variables: &container-publish-common-variables + DOCKER_REGISTRY: $CI_REGISTRY_IMAGE + DOCKER_REGISTRY_USER: $CI_REGISTRY_USER + DOCKER_REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD + EXTRA_ARGS: "" + USE_VERSIONFILE: false + ARTIFACT: "version" + .container-publish-common: &container-publish-common + variables: + <<: *container-publish-common-variables before_script: + - if [ "$USE_VERSIONFILE" == "true" ]; then IMAGE_TAG=$(cat ./$ARTIFACT); fi - export PARSED_VERSION=$(echo $IMAGE_TAG | sed -r 's/\+/_/g') # Replace + sign since this is not valid in a docker tag - echo $PARSED_VERSION stage: package @@ -8,13 +19,6 @@ variables: IMAGE_TAG: $CI_COMMIT_TAG - -.container-publish-common-variables: &container-publish-common-variables - DOCKER_REGISTRY: $CI_REGISTRY_IMAGE - DOCKER_REGISTRY_USER: $CI_REGISTRY_USER - DOCKER_REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD - EXTRA_ARGS: "" - .publish-image-jib-maven: image: $MAVEN_IMAGE <<: *container-publish-common @@ -60,3 +64,21 @@ - mkdir -p /kaniko/.docker - echo "{\"auths\":{\"$DOCKER_REGISTRY\":{\"username\":\"$DOCKER_REGISTRY_USER\",\"password\":\"$DOCKER_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - /kaniko/executor --context $CONTEXT_LOCATION --dockerfile $DOCKERFILE_LOCATION --destination $CI_REGISTRY_IMAGE:$PARSED_VERSION $EXTRA_ARGS --skip-tls-verify + + + + +.publish-image-kaniko-child: + image: + name: gcr.io/kaniko-project/executor:v1.7.0-debug + entrypoint: [ "" ] + <<: *container-publish-common + variables: + <<: *container-publish-common-variables + PROJECT_DIR: $CI_PROJECT_DIR + DOCKERFILE_LOCATION: $CI_PROJECT_DIR/Dockerfile + CONTEXT_LOCATION: $CI_PROJECT_DIR + script: + - mkdir -p /kaniko/.docker + - echo "{\"auths\":{\"$DOCKER_REGISTRY\":{\"username\":\"$DOCKER_REGISTRY_USER\",\"password\":\"$DOCKER_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json + - /kaniko/executor --context $CONTEXT_LOCATION --dockerfile $DOCKERFILE_LOCATION --destination $CI_REGISTRY_IMAGE:$PARSED_VERSION $EXTRA_ARGS --skip-tls-verify