.container-build-common: stage: build interruptible: true variables: CONTEXT_LOCATION: $CI_PROJECT_DIR DOCKER_REGISTRY: $CI_REGISTRY_IMAGE DOCKER_REGISTRY_USER: $CI_REGISTRY_USER DOCKER_REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD EXTRA_ARGS: "" artifacts: paths: - image.tar .container-build-jib-maven: extends: .container-build-common image: $MAVEN_IMAGE script: - > if [ "$CONTEXT_LOCATION" != "" ]; then cd $CONTEXT_LOCATION fi - mvn $MAVEN_CLI_OPTS jib:buildTar -DskipTests -Djib.outputPaths.tar=$CI_PROJECT_DIR/image.tar $EXTRA_ARGS .container-build-jib-gradle: extends: .container-build-common image: $GRADLE_IMAGE variables: EXTRA_ARGS: $GRADLE_EXTRA_ARGS script: - > if [ "$CONTEXT_LOCATION" != "" ]; then cd $CONTEXT_LOCATION fi - ./gradlew --build-cache $GRADLE_OPTS $GRADLE_CLI_OPTS jibBuildTar -DskipTests -Djib.outputPaths.tar=$CI_PROJECT_DIR/image.tar $EXTRA_ARGS .container-build-kaniko: extends: .container-build-common image: name: gcr.io/kaniko-project/executor:v1.9.1-debug entrypoint: [ "" ] variables: DOCKERFILE_LOCATION: $CI_PROJECT_DIR/Dockerfile REGISTRY_MIRROR: --registry-mirror nexus.corp.exxcellent.de:18000 --skip-tls-verify-registry nexus.corp.exxcellent.de:18000 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 --no-push --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA $EXTRA_ARGS $REGISTRY_MIRROR --tarPath image.tar