feat(Container Publish): Cleanup Container Publishing tasks
This commit is contained in:
parent
d7648255c7
commit
378447099b
30
container-publish-snapshot.gitlab-ci.yml
Normal file
30
container-publish-snapshot.gitlab-ci.yml
Normal file
@ -0,0 +1,30 @@
|
||||
include:
|
||||
- local: 'container-publish.gitlab-ci.yml'
|
||||
|
||||
.container-publish-snapshot-rules: &container-publish-snapshot-rules
|
||||
stage: snapshot
|
||||
rules:
|
||||
- if: "$CI_PIPELINE_SOURCE == 'merge_request_event'"
|
||||
when: never
|
||||
- if: '$CI_COMMIT_REF_NAME =~ /^feature/'
|
||||
variables:
|
||||
IMAGE_TAG: $CI_COMMIT_REF_SLUG
|
||||
- if: '$CI_COMMIT_REF_NAME =~ /^refactor/'
|
||||
variables:
|
||||
IMAGE_TAG: $CI_COMMIT_REF_SLUG
|
||||
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
||||
variables:
|
||||
IMAGE_TAG: "latest"
|
||||
- when: never
|
||||
|
||||
.publish-image-jib-maven-snapshot:
|
||||
<<: *container-publish-snapshot-rules
|
||||
extends: .publish-image-jib-maven
|
||||
|
||||
.publish-image-jib-gradle-snapshot:
|
||||
<<: *container-publish-snapshot-rules
|
||||
extends: .publish-image-jib-gradle
|
||||
|
||||
.publish-image-kaniko-snapshot:
|
||||
<<: *container-publish-snapshot-rules
|
||||
extends: .publish-image-kaniko
|
||||
@ -1,16 +1,26 @@
|
||||
.publish-image-jib:
|
||||
image: $MAVEN_IMAGE
|
||||
.container-publish-common: &container-publish-common
|
||||
before_script:
|
||||
- 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
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
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
|
||||
|
||||
.publish-image-jib-maven:
|
||||
image: $MAVEN_IMAGE
|
||||
<<: *container-publish-common
|
||||
variables:
|
||||
<<: *container-publish-common-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
|
||||
@ -23,21 +33,15 @@
|
||||
|
||||
.publish-image-jib-gradle:
|
||||
image: $GRADLE_IMAGE
|
||||
stage: package
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
<<: *container-publish-common
|
||||
variables:
|
||||
DOCKER_REGISTRY: $CI_REGISTRY_IMAGE
|
||||
DOCKER_REGISTRY_USER: $CI_REGISTRY_USER
|
||||
DOCKER_REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD
|
||||
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:$PARSED_VERSION
|
||||
<<: *container-publish-common-variables
|
||||
GRADLE_EXTRA_ARGS: ""
|
||||
script:
|
||||
- echo $PARSED_VERSION
|
||||
- gradlew jib
|
||||
- ./gradlew assemble jib $GRADLE_EXTRA_ARGS
|
||||
"-DskipTests"
|
||||
"-Djib.to.image=$DOCKER_REGISTRY:$PARSED_VERSION"
|
||||
"-Djib.to.image=$DOCKER_REGISTRY:$PARSED_VERSION""
|
||||
"-Djib.to.auth.username=$DOCKER_REGISTRY_USER"
|
||||
"-Djib.to.auth.password=$DOCKER_REGISTRY_PASSWORD"
|
||||
|
||||
@ -45,20 +49,13 @@
|
||||
image:
|
||||
name: gcr.io/kaniko-project/executor:v1.7.0-debug
|
||||
entrypoint: [ "" ]
|
||||
stage: package
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
<<: *container-publish-common
|
||||
variables:
|
||||
DOCKER_REGISTRY: $CI_REGISTRY_IMAGE
|
||||
DOCKER_REGISTRY_USER: $CI_REGISTRY_USER
|
||||
DOCKER_REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD
|
||||
<<: *container-publish-common-variables
|
||||
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:$PARSED_VERSION
|
||||
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
|
||||
- /kaniko/executor --context $CONTEXT_LOCATION --dockerfile $DOCKERFILE_LOCATION --destination $CI_REGISTRY_IMAGE:$PARSED_VERSION --skip-tls-verify
|
||||
|
||||
Loading…
Reference in New Issue
Block a user