stages: - compile - test - build variables: MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" cache: paths: - .m2/repository/ - "**/target/" compile: stage: compile image: maven:3.8.6-openjdk-18 script: - ./mvnw clean compile test: stage: test image: markhobson/maven-chrome:jdk-18 script: - ./mvnw test artifacts: name: "Surefire test reports from $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG" expire_in: 1 day reports: junit: - "**/target/surefire-reports/TEST-*.xml" check: stage: build image: markhobson/maven-chrome:jdk-18 script: - ./mvnw clean compile dependency-check:aggregate - ./mvnw sonar:sonar -Dsonar.projectKey=$SONAR_PROJECT -Dsonar.projectName=$SONAR_PROJECT -Dsonar.host.url=$SONAR_URL -Dsonar.token=$SONAR_TOKEN build: stage: build image: maven:3.8.6-openjdk-18 script: - ./mvnw package -DskipTests artifacts: name: "Maven artifacts from $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG" paths: - "**/target/*.jar"