.publish-image-jib: image: $MAVEN_IMAGE stage: package only: - tags variables: MVN_VERSION: "true" script: - export PARSED_VERSION=$(echo $CI_COMMIT_TAG | sed -r 's/\+/_/g') # Replace + sign since this is not valid in a docker tag - echo $PARSED_VERSION - > if [ "${MVN_VERSION}" == "true" ]; then mvn versions:set -DnewVersion=$PARSED_VERSION -DgenerateBackupPoms=false fi - mvn $MAVEN_CLI_OPTS compile jib:build "-DskipTests" "-Djib.to.auth.username=$CI_REGISTRY_USER" "-Djib.to.auth.password=$CI_REGISTRY_PASSWORD" .publish-image-kaniko: image: name: gcr.io/kaniko-project/executor:debug entrypoint: [ "" ] stage: package rules: - if: $CI_COMMIT_TAG variables: DOCKER_REGISTRY: $CI_REGISTRY DOCKER_REGISTRY_USER: $CI_REGISTRY_USER DOCKER_REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD PROJECT_DIR: $CI_PROJECT_DIR DOCKERFILE_LOCATION: $CI_PROJECT_DIR/Dockerfile CONTEXT_LOCATION: $CI_PROJECT_DIR before_script: - export PARSED_VERSION=$(echo $CI_COMMIT_TAG | sed -r 's/\+/_/g') # Replace + sign since this is not valid in a docker tag - export IMAGE_NAME=$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG 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 $IMAGE_NAME --skip-tls-verify