From 35ce715796c9da387bf48e53663c2b75799b73b0 Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Mon, 28 Apr 2025 17:09:54 +0200 Subject: [PATCH 1/6] OZG-8085 Maven CI Component POC --- .gitlab-ci.yml | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1b03623..45e6a88 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,28 +12,16 @@ variables: services: - docker:24.0.5-dind -cache: - paths: - - .m2/repository/ - - target/ - stages: - build - test - publish -package: - stage: build - script: - - mvn clean package -DskipTests=true $MAVEN_CLI_OPTS - artifacts: - paths: - - target/*.jar - -test: - stage: test - script: - - mvn test $MAVEN_CLI_OPTS +# Maven Build, Test and Verify +include: + - component: $CI_SERVER_FQDN/ozg-cloud/ci-components/maven_build@main + inputs: + maven_cli_opts: $MAVEN_CLI_OPTS .helm: before_script: @@ -50,11 +38,6 @@ test-helm: script: - sh run_helm_test.sh -verify: - stage: test - script: - - mvn verify $MAVEN_CLI_OPTS - .get-version: before_script: - export PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout $MAVEN_CLI_OPTS | cut -d'-' -f1) -- GitLab From ac769202ec54bb262b16d2d076650817adafcda4 Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Mon, 28 Apr 2025 17:22:03 +0200 Subject: [PATCH 2/6] OZG-8085 Maven CI Component POC --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 45e6a88..cde025e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,6 +22,8 @@ include: - component: $CI_SERVER_FQDN/ozg-cloud/ci-components/maven_build@main inputs: maven_cli_opts: $MAVEN_CLI_OPTS + build_stage: build + test_stage: test .helm: before_script: -- GitLab From 3f76202516b72827acaac9389193ff973edb9fa1 Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Wed, 7 May 2025 16:54:15 +0200 Subject: [PATCH 3/6] OZG-8085 Maven Deploy CI Component POC --- .gitlab-ci.yml | 47 ++++++++++++----------------------------------- 1 file changed, 12 insertions(+), 35 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cde025e..741439c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,13 +17,23 @@ stages: - test - publish -# Maven Build, Test and Verify include: - - component: $CI_SERVER_FQDN/ozg-cloud/ci-components/maven_build@main + # Maven Build, Test and Verify + - component: $CI_SERVER_FQDN/ozg-cloud/devops/ci-components/maven_build@main inputs: maven_cli_opts: $MAVEN_CLI_OPTS build_stage: build test_stage: test + # Maven Deploy for MR, Snapshot and Release to GitLab + - component: $CI_SERVER_FQDN/ozg-cloud/devops/ci-components/maven_deploy@main + inputs: + job_prefix: gitlab + stage: publish + maven_cli_opts: >- + -s .m2/ci_settings.xml --batch-mode + -Dmaven.plugin.validation=brief + maven_profile: "-Pgitlab-deploy" + image_registry: $CI_REGISTRY_IMAGE .helm: before_script: @@ -48,18 +58,6 @@ test-helm: - 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 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' - when: manual - push-merge-request-image-nexus: stage: publish extends: .get-version @@ -103,16 +101,6 @@ push-keystore-assembler-image-nexus: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' # Snapshot jobs -push-snapshot-image-gitlab: - stage: publish - extends: .get-version - script: - - 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 - push-snapshot-image-nexus: stage: publish extends: .get-version @@ -142,17 +130,6 @@ push-snapshot-helm-nexus: - "*.tgz" # Release jobs -push-release-image-gitlab: - stage: publish - 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: - - if: $CI_COMMIT_TAG - push-release-image-nexus: stage: publish extends: .get-version -- GitLab From ac1ac13589ad24fcaea136df555731e2c93cf1b6 Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Wed, 7 May 2025 16:56:23 +0200 Subject: [PATCH 4/6] OZG-8085 correct inputs variable name --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 741439c..7d6e649 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,7 +21,7 @@ include: # Maven Build, Test and Verify - component: $CI_SERVER_FQDN/ozg-cloud/devops/ci-components/maven_build@main inputs: - maven_cli_opts: $MAVEN_CLI_OPTS + maven_cli_options: $MAVEN_CLI_OPTS build_stage: build test_stage: test # Maven Deploy for MR, Snapshot and Release to GitLab @@ -29,7 +29,7 @@ include: inputs: job_prefix: gitlab stage: publish - maven_cli_opts: >- + maven_cli_options: >- -s .m2/ci_settings.xml --batch-mode -Dmaven.plugin.validation=brief maven_profile: "-Pgitlab-deploy" -- GitLab From b3d34e825ca6c83fbabf5496ead1fdecefacc5b3 Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Wed, 7 May 2025 17:44:12 +0200 Subject: [PATCH 5/6] OZG-8085 Maven Deploy CI Component for nexus --- .gitlab-ci.yml | 45 +++++++++++++-------------------------------- 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7d6e649..b16fb1c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,7 @@ variables: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" DOCKER_DRIVER: overlay2 + NEXUS_IMAGE_REGISTRY_URL: docker.ozg-sh.de services: - docker:24.0.5-dind @@ -34,6 +35,17 @@ include: -Dmaven.plugin.validation=brief maven_profile: "-Pgitlab-deploy" image_registry: $CI_REGISTRY_IMAGE + # Maven Deploy for MR, Snapshot and Release to Nexus + - component: $CI_SERVER_FQDN/ozg-cloud/devops/ci-components/maven_deploy@main + inputs: + job_prefix: nexus + stage: publish + maven_cli_options: >- + -s .m2/ci_settings.xml --batch-mode + -Dmaven.plugin.validation=brief + maven_profile: "-Pnexus-deploy" + image_registry: $NEXUS_IMAGE_REGISTRY_URL + append_artifact_id_to_registry: true .helm: before_script: @@ -58,17 +70,7 @@ test-helm: - export MERGE_REQUEST_TAG="${PROJECT_VERSION}-MR-${CI_MERGE_REQUEST_IID}" - export SNAPSHOT_TAG="${PROJECT_VERSION}-${CI_COMMIT_BRANCH}" -push-merge-request-image-nexus: - stage: publish - extends: .get-version - script: - - 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' - when: manual - +# Merge request jobs push-merge-request-helm-nexus: stage: publish variables: @@ -101,16 +103,6 @@ push-keystore-assembler-image-nexus: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' # Snapshot jobs -push-snapshot-image-nexus: - stage: publish - extends: .get-version - script: - - 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 - push-snapshot-helm-nexus: stage: publish variables: @@ -130,17 +122,6 @@ push-snapshot-helm-nexus: - "*.tgz" # Release jobs -push-release-image-nexus: - stage: publish - 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: - - if: $CI_COMMIT_TAG - push-release-helm-nexus: stage: publish variables: -- GitLab From 6345b79d1152bd065213769eb9bc2728577d3a8d Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Wed, 7 May 2025 17:54:47 +0200 Subject: [PATCH 6/6] OZG-8085 remove unused parts of pipeline --- .gitlab-ci.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b16fb1c..c960f0f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,6 @@ image: maven:3.9.9-eclipse-temurin-21-alpine variables: - MAVEN_DEPLOY_CLI_OPTS: "--no-transfer-progress -DskipTests" MAVEN_CLI_OPTS: >- -s .m2/ci_settings.xml --batch-mode -Dmaven.plugin.validation=brief @@ -65,10 +64,6 @@ test-helm: .get-version: before_script: - 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-helm-nexus: -- GitLab