55 lines
1.1 KiB
YAML
55 lines
1.1 KiB
YAML
stages:
|
|
- compile
|
|
- test
|
|
- build
|
|
|
|
.setup-mvn: &setup-mvn
|
|
- chmod a+x mvnw
|
|
|
|
variables:
|
|
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
|
|
|
|
cache:
|
|
paths:
|
|
- .m2/repository/
|
|
- "**/target/"
|
|
|
|
compile:
|
|
stage: compile
|
|
image: maven:3.8.6-openjdk-18
|
|
script:
|
|
- *setup-mvn
|
|
- ./mvnw clean compile
|
|
|
|
test:
|
|
stage: test
|
|
image: markhobson/maven-chrome:jdk-18
|
|
script:
|
|
- *setup-mvn
|
|
- ./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:
|
|
- *setup-mvn
|
|
- ./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:
|
|
- *setup-mvn
|
|
- ./mvnw package -DskipTests
|
|
artifacts:
|
|
name: "Maven artifacts from $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG"
|
|
paths:
|
|
- "**/target/*.jar"
|