diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8198bda74a88f7f8590b9051782162a420ecdfa9..1b03623e38ee8b71b789f7ad8a97c2572bae416f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -60,13 +60,16 @@ verify: - export PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout $MAVEN_CLI_OPTS | cut -d'-' -f1) - export PROJECT_ARTIFACTID=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout $MAVEN_CLI_OPTS) - export NEXUS_IMAGE_PREFIX="docker.ozg-sh.de/${PROJECT_ARTIFACTID}" + - export MERGE_REQUEST_TAG="${PROJECT_VERSION}-MR-${CI_MERGE_REQUEST_IID}" + - export SNAPSHOT_TAG="${PROJECT_VERSION}-${CI_COMMIT_BRANCH}" # Merge request jobs push-merge-request-image-gitlab: stage: publish extends: .get-version script: - - export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${PROJECT_VERSION}-MR-${CI_MERGE_REQUEST_IID},${CI_REGISTRY_IMAGE}:${PROJECT_VERSION}-MR-${CI_MERGE_REQUEST_IID}-${CI_COMMIT_SHORT_SHA}" + - export PRIMARY_IMAGE_TAG=${MERGE_REQUEST_TAG} + - export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${MERGE_REQUEST_TAG},${CI_REGISTRY_IMAGE}:${MERGE_REQUEST_TAG}-${CI_COMMIT_SHORT_SHA}" - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' @@ -76,7 +79,8 @@ push-merge-request-image-nexus: stage: publish extends: .get-version script: - - export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${PROJECT_VERSION}-MR-${CI_MERGE_REQUEST_IID},${NEXUS_IMAGE_PREFIX}:${PROJECT_VERSION}-MR-${CI_MERGE_REQUEST_IID}-${CI_COMMIT_SHORT_SHA}" + - export PRIMARY_IMAGE_TAG=${MERGE_REQUEST_TAG} + - export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${MERGE_REQUEST_TAG},${NEXUS_IMAGE_PREFIX}:${MERGE_REQUEST_TAG}-${CI_COMMIT_SHORT_SHA}" - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' @@ -118,7 +122,8 @@ push-snapshot-image-gitlab: stage: publish extends: .get-version script: - - export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${PROJECT_VERSION}-main,${CI_REGISTRY_IMAGE}:${PROJECT_VERSION}-main-${CI_COMMIT_SHORT_SHA},${CI_REGISTRY_IMAGE}:snapshot-latest" + - export PRIMARY_IMAGE_TAG=${SNAPSHOT_TAG} + - export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${SNAPSHOT_TAG},${CI_REGISTRY_IMAGE}:${SNAPSHOT_TAG}-${CI_COMMIT_SHORT_SHA},${CI_REGISTRY_IMAGE}:snapshot-latest" - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS only: - main @@ -127,7 +132,8 @@ push-snapshot-image-nexus: stage: publish extends: .get-version script: - - export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${PROJECT_VERSION}-main,${NEXUS_IMAGE_PREFIX}:${PROJECT_VERSION}-main-${CI_COMMIT_SHORT_SHA},${NEXUS_IMAGE_PREFIX}:snapshot-latest" + - export PRIMARY_IMAGE_TAG=${SNAPSHOT_TAG} + - export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${SNAPSHOT_TAG},${NEXUS_IMAGE_PREFIX}:${SNAPSHOT_TAG}-${CI_COMMIT_SHORT_SHA},${NEXUS_IMAGE_PREFIX}:snapshot-latest" - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS only: - main @@ -156,6 +162,7 @@ push-release-image-gitlab: extends: .get-version script: - mvn versions:set -DnewVersion=${CI_COMMIT_TAG} $MAVEN_CLI_OPTS + - export PRIMARY_IMAGE_TAG=${CI_COMMIT_TAG} - export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG},${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}-release,${CI_REGISTRY_IMAGE}:latest" - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS rules: @@ -166,6 +173,7 @@ push-release-image-nexus: extends: .get-version script: - mvn versions:set -DnewVersion=${CI_COMMIT_TAG} $MAVEN_CLI_OPTS + - export PRIMARY_IMAGE_TAG=${CI_COMMIT_TAG} - export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${CI_COMMIT_TAG},${NEXUS_IMAGE_PREFIX}:${CI_COMMIT_TAG}-release,${NEXUS_IMAGE_PREFIX}:latest" - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS rules: diff --git a/pom.xml b/pom.xml index f057b824288c81039940d713acc0dfb85628e0ec..08bbcb6c8ca35b6c999e42148a596c7a44702287 100644 --- a/pom.xml +++ b/pom.xml @@ -474,7 +474,7 @@ <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> - <name>${CI_REGISTRY_IMAGE}/${project.artifactId}</name> + <name>${CI_REGISTRY_IMAGE}:${PRIMARY_IMAGE_TAG}</name> <tags>${IMAGE_TAGS}</tags> <publish>true</publish> </image> @@ -502,7 +502,7 @@ <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> - <name>docker.ozg-sh.de/${project.artifactId}</name> + <name>docker.ozg-sh.de/${project.artifactId}:${PRIMARY_IMAGE_TAG}</name> <tags>${IMAGE_TAGS}</tags> <publish>true</publish> </image>