Newer
Older
---
# Build JAVA applications using Apache Maven (http://maven.apache.org)
stages:
- build
- test
- deploy
variables:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -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"
# Backend
MAVEN_CLI_OPTS_1: "-f dmnverifierapi/pom.xml --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=false -Dvertx.cacheDirBase=/home/gitlab-runner/cache/vertx-cache -Dquarkus.http.test-port=8085"
MAVEN_CLI_OPTS_2: "-f dmnverifierfrontend/pom.xml --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=false -Dvertx.cacheDirBase=/home/gitlab-runner/cache/vertx-cache -Dquarkus.http.test-port=8086"
# Cache downloaded dependencies and plugins between builds.
# To keep cache across branches add 'key: "$CI_JOB_NAME"'
cache:
paths:
- .m2/repository
# Remove trash after builds
- mvn $MAVEN_CLI_OPTS_1 test-compile
- mvn $MAVEN_CLI_OPTS_2 test-compile
# For merge requests do not `install` but only run `verify`.
# See https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
.verify: &verify
stage: test
script:
- mvn $MAVEN_CLI_OPTS_1 verify
- mvn $MAVEN_CLI_OPTS_2 verify
- cat dmnverifierapi/target/site/jacoco/index.html
# Validate merge requests using JDK8
validate:jdk8:
<<: *validate
image: maven:3.6.0-jdk-8
# Verify merge requests using JDK8
verify:jdk8:
<<: *verify
image: maven:3.6.0-jdk-8
deploy:
- mvn $MAVEN_CLI_OPTS_1 clean install -DskipTests
- cp dmnverifierapi/target/*-runner.jar ~/dmn/dmn-backend-runner.jar
- mvn $MAVEN_CLI_OPTS_2 clean install -DskipTests
- cp dmnverifierfrontend/target/*-runner.jar ~/dmn/dmn-frontend-runner.jar
- dmnverifierapi/target/*-runner.jar
- dmnverifierfrontend/target/*-runner.jar