From 3d2910314c4f53ad339ae7c5c9f2232f90739ff9 Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Wed, 19 Feb 2025 15:49:18 +0100 Subject: [PATCH] KOP-2907 Code-SH CI Pipeline --- .gitlab-ci.yml | 65 +++++++++++------ .m2/settings.xml | 72 ++++++++----------- pom.xml | 15 ++-- .../xta/client/model/XtaMessageMetaData.java | 3 + 4 files changed, 83 insertions(+), 72 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b8463db..edbc971 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,48 +1,71 @@ -image: dimage-base-release.repo-ex.zcdi.dataport.de/sdks/maven:3.9.2-java-21 +image: maven:3.9.9-eclipse-temurin-21-alpine variables: - MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode" - MAVEN_DEPLOY_CLI_OPTS: "--no-transfer-progress" - MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" + MAVEN_DEPLOY_CLI_OPTS: "--no-transfer-progress -DskipTests" + MAVEN_CLI_OPTS: >- + -s .m2/ci_settings.xml --batch-mode + -Dmaven.plugin.validation=brief DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" DOCKER_DRIVER: overlay2 services: - - name: kopsh-docker-dockerhub.repo-ex.zcdi.dataport.de/docker:dind - alias: docker + - docker:dind cache: paths: - .m2/repository/ - target/ +stages: + - build + - test + - publish -package: +build: stage: build script: - - export DATAPORT_PROXY_CLI=$DATAPORT_PROXY - - mvn $MAVEN_CLI_OPTS package + - mvn clean compile $MAVEN_CLI_OPTS artifacts: paths: - target/*.jar - rules: - - if: $CI_COMMIT_BRANCH != "main" -deploy_to_artifactory: - stage: deploy +test: + stage: test + script: + - mvn test $MAVEN_CLI_OPTS + +verify: + stage: test script: - - export DATAPORT_PROXY_CLI=$DATAPORT_PROXY - - mvn -P artifactory-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS deploy + - mvn verify $MAVEN_CLI_OPTS + +snapshot-gitlab: + stage: publish + script: + - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS only: - main - - release -deploy_to_nexus: - stage: deploy +snapshot-nexus: + stage: publish script: - - export DATAPORT_PROXY_CLI=$DATAPORT_PROXY - - mvn -P nexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS deploy + - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS only: - main - - release + +release-gitlab: + stage: publish + script: + - mvn versions:set -DnewVersion=${CI_COMMIT_TAG} $MAVEN_CLI_OPTS + - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS + rules: + - if: $CI_COMMIT_TAG + +release-nexus: + stage: publish + script: + - mvn versions:set -DnewVersion=${CI_COMMIT_TAG} $MAVEN_CLI_OPTS + - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS + rules: + - if: $CI_COMMIT_TAG diff --git a/.m2/settings.xml b/.m2/settings.xml index 74f8b08..06b0cb5 100644 --- a/.m2/settings.xml +++ b/.m2/settings.xml @@ -1,32 +1,42 @@ <?xml version="1.0" encoding="UTF-8"?> -<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd" + xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <localRepository>.m2/repository</localRepository> + <servers> - <server> - <id>artifactory</id> - <username>${env.Artifactory_REPO_USER}</username> - <password>${env.Artifactory_REPO_PASS}</password> - </server> - <server> - <id>artifactory-snapshots</id> - <username>${env.Artifactory_REPO_USER}</username> - <password>${env.Artifactory_REPO_PASS}</password> - </server> <server> <id>ozg-nexus</id> - <username>${env.Nexus_REPO_USER}</username> - <password>${env.Nexus_REPO_PASS}</password> + <username>${env.NEXUS_USER}</username> + <password>${env.NEXUS_PASSWORD}</password> </server> <server> <id>ozg-snapshots-nexus</id> - <username>${env.Nexus_REPO_USER}</username> - <password>${env.Nexus_REPO_PASS}</password> + <username>${env.NEXUS_USER}</username> + <password>${env.NEXUS_PASSWORD}</password> + </server> + <server> + <id>codesh-gitlab-maven</id> + <configuration> + <httpHeaders> + <property> + <name>Job-Token</name> + <value>${CI_JOB_TOKEN}</value> + </property> + </httpHeaders> + </configuration> </server> </servers> <profiles> <profile> - <id>local-build</id> + <id>ci-default</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> <repositories> + <repository> + <id>codesh-gitlab-maven</id> + <url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url> + </repository> <repository> <id>ozg-nexus</id> <name>ozg-releases</name> @@ -36,33 +46,11 @@ <id>ozg-snapshots-nexus</id> <name>ozg-snapshots</name> <url>https://nexus.ozg-sh.de/repository/ozg-snapshots/</url> - <snapshots><enabled>true</enabled></snapshots> - </repository> - <repository> - <id>artifactory</id> - <name>artifactory</name> - <url>${env.DATAPORT_ARTIFACTORY_URL}</url> - </repository> - <repository> - <id>artifactory-snapshots</id> - <name>artifactory-snapshots</name> - <url>${env.DATAPORT_ARTIFACTORY_URL}</url> - <snapshots><enabled>true</enabled></snapshots> + <snapshots> + <enabled>true</enabled> + </snapshots> </repository> </repositories> </profile> </profiles> - <activeProfiles> - <activeProfile>local-build</activeProfile> - </activeProfiles> - <proxies> - <proxy> - <id>dataport-proxy</id> - <active>true</active> - <protocol>http</protocol> - <host>${env.DATAPORT_PROXY_CLI}</host> - <port>${env.DATAPORT_PROXY_PORT}</port> - <nonProxyHosts>localhost,127.0.0.1,*.dataport.de</nonProxyHosts> - </proxy> - </proxies> -</settings> \ No newline at end of file +</settings> diff --git a/pom.xml b/pom.xml index 4d9a9fe..42a5fda 100644 --- a/pom.xml +++ b/pom.xml @@ -327,20 +327,18 @@ <profiles> <!-- Deployment Profiles --> <profile> - <id>artifactory-deploy</id> + <id>gitlab-deploy</id> <activation> <activeByDefault>false</activeByDefault> </activation> <distributionManagement> <repository> - <id>artifactory</id> - <name>artifactory</name> - <url>${env.DATAPORT_ARTIFACTORY_URL}</url> + <id>codesh-gitlab-maven</id> + <url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url> </repository> <snapshotRepository> - <id>artifactory-snapshots</id> - <name>artifactory-snapshots</name> - <url>${env.DATAPORT_ARTIFACTORY_URL}</url> + <id>codesh-gitlab-maven</id> + <url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url> </snapshotRepository> </distributionManagement> </profile> @@ -364,5 +362,4 @@ </profile> </profiles> - -</project> \ No newline at end of file +</project> diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java index a9b8332..9e065b0 100644 --- a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java +++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java @@ -40,5 +40,8 @@ public record XtaMessageMetaData( @NotNull @Valid XtaIdentifier authorIdentifier, @NotNull @Valid XtaIdentifier readerIdentifier, @Nullable @PositiveOrZero BigInteger messageSize + // TODO + // DeliveryAttributes.origin + // @Nullable ZonedDateTime deliveryAttributesOrigin; ) { } -- GitLab