From db1da581939d3b128b2c8da75f3f02f5ea9a2e49 Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Mon, 6 Jan 2025 11:13:01 +0100 Subject: [PATCH] add gitlab pipeline --- .gitlab-ci.yml | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..cf705c79 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,71 @@ +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 + DOCKER_HOST: tcp://docker:2375 + DOCKER_TLS_CERTDIR: "" + DOCKER_DRIVER: overlay2 + +services: + - docker:dind + +cache: + paths: + - .m2/repository/ + - target/ + +stages: + - build + - test + - publish + +build: + stage: build + script: + - mvn clean compile $MAVEN_CLI_OPTS + artifacts: + paths: + - target/*.jar + +test: + stage: test + script: + - mvn test $MAVEN_CLI_OPTS + +verify: + stage: test + script: + - mvn verify $MAVEN_CLI_OPTS + +snapshot-gitlab: + stage: publish + script: + - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS + only: + - main + +snapshot-nexus: + stage: publish + script: + - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS + only: + - main + +release-gitlab: + stage: publish + script: + - mvn versions:set -DnewVersion=${CI_COMMIT_TAG} + - 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} + - mvn mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS + rules: + - if: $CI_COMMIT_TAG -- GitLab