56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
.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
|