mirror of
https://github.com/itplr-kosit/validator.git
synced 2026-05-25 16:55:39 +00:00
122 lines
4.5 KiB
YAML
122 lines
4.5 KiB
YAML
image: maven:latest
|
|
|
|
variables:
|
|
BUILD_PROPS: "-Dbuild.revision=$CI_COMMIT_SHA -Dbuild.branch=$CI_COMMIT_REF_NAME -Dbuild.number=$CI_PIPELINE_IID -Dfile.encoding=UTF-8 -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false"
|
|
MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
|
|
MAVEN_CLI_OPTS: " --batch-mode --update-snapshots --errors --fail-at-end --show-version -s .mvn/settings.xml"
|
|
MAVEN_CLI_OPTS_CENTRAL: " --batch-mode --show-version -s .mvn/settings-maven-central.xml"
|
|
|
|
before_script:
|
|
- export CI_JOB_TIMESTAMP="-Dbuild.timestamp=$(date --utc --iso-8601=seconds)"
|
|
|
|
cache:
|
|
# Change the cache key if major dependencies change
|
|
key: constant160
|
|
paths:
|
|
- .m2/repository
|
|
|
|
.java:
|
|
stage: build
|
|
needs:
|
|
- job: java-11
|
|
artifacts: false
|
|
script:
|
|
- mvn $MAVEN_CLI_OPTS $BUILD_PROPS $CI_JOB_TIMESTAMP verify
|
|
artifacts:
|
|
name: artifacts
|
|
when: on_failure
|
|
paths:
|
|
- target/*.jar
|
|
reports:
|
|
junit:
|
|
- target/surefire-reports/*.xml
|
|
- target/failsafe-reports/*.xml
|
|
|
|
.java_extended:
|
|
extends: .java
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "schedule"
|
|
|
|
java-11:
|
|
extends: .java
|
|
image: $CI_REGISTRY_IMAGE/maven:3-eclipse-temurin-11-alpine
|
|
needs: [ ]
|
|
script:
|
|
- mvn $MAVEN_CLI_OPTS $BUILD_PROPS $CI_JOB_TIMESTAMP install
|
|
artifacts:
|
|
name: java-11
|
|
when: always
|
|
paths:
|
|
- target/*.jar
|
|
- target/*.zip
|
|
reports:
|
|
junit:
|
|
- target/surefire-reports/*.xml
|
|
- target/failsafe-reports/*.xml
|
|
|
|
java-11-openj9:
|
|
extends: .java_extended
|
|
image: $CI_REGISTRY_IMAGE/maven:3-jdk-11-openj9
|
|
|
|
java-17:
|
|
extends: .java
|
|
image: $CI_REGISTRY_IMAGE/maven:3-eclipse-temurin-17-alpine
|
|
|
|
java-21:
|
|
extends: .java
|
|
image: $CI_REGISTRY_IMAGE/maven:3-eclipse-temurin-21-alpine
|
|
|
|
java-24:
|
|
extends: .java_extended
|
|
image: $CI_REGISTRY_IMAGE/maven:3-eclipse-temurin-24-alpine
|
|
|
|
java-25:
|
|
extends: .java
|
|
image: $CI_REGISTRY_IMAGE/maven:3-eclipse-temurin-25-alpine
|
|
|
|
deploy:
|
|
stage: deploy
|
|
image: $CI_REGISTRY_IMAGE/maven:3-eclipse-temurin-11-alpine
|
|
needs:
|
|
- job: java-11
|
|
script:
|
|
- export PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
|
|
- mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}.zip -DgroupId=kosit -DartifactId=validator -Dclassifier="distribution" -Dversion=${PROJECT_VERSION} -Dpackaging=zip -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
|
|
- mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}.jar -DgroupId=kosit -DartifactId=validator -Dversion=${PROJECT_VERSION} -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
|
|
- mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-javadoc.jar -DgroupId=kosit -DartifactId=validator -Dclassifier="javadoc" -Dversion=${PROJECT_VERSION} -Dpackaging=zip -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
|
|
- mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-standalone.jar -DgroupId=kosit -DartifactId=validator -Dclassifier="standalone" -Dversion=${PROJECT_VERSION} -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
|
|
- mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-sources.jar -DgroupId=kosit -DartifactId=validator -Dclassifier="sources" -Dversion=${PROJECT_VERSION} -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
|
|
when: manual
|
|
|
|
deploy-snapshot:
|
|
extends: java-11
|
|
script:
|
|
- mvn $MAVEN_CLI_OPTS_CENTRAL -P release-snapshot deploy
|
|
|
|
create-build-image:
|
|
stage: deploy
|
|
image: docker:latest
|
|
needs: [ ]
|
|
services:
|
|
- docker:dind
|
|
script:
|
|
- apk add bash
|
|
- bash .mvn/createBuildImages.sh
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "schedule"
|
|
- if: $CI_COMMIT_REF_NAME == "main"
|
|
changes:
|
|
- .mvn/createBuildImages.sh
|
|
|
|
owasp-check:
|
|
extends: .java
|
|
image: $CI_REGISTRY_IMAGE/maven:3-eclipse-temurin-11-alpine
|
|
needs: [ ]
|
|
script:
|
|
- mvn $MAVEN_CLI_OPTS $BUILD_PROPS $CI_JOB_TIMESTAMP validate -Powasp-check
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "schedule"
|
|
- if: $CI_COMMIT_REF_NAME == "main"
|
|
changes:
|
|
- pom.xml
|
|
- owasp-suppressions.xml
|