Something went wrong on our end
-
Jonas Blatt authoredJonas Blatt authored
.gitlab-ci.yml 2.06 KiB
---
# 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=true"
# Frontend
MAVEN_CLI_OPTS_2: "-f dmnverifierfrontend/pom.xml --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
# 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
default:
after_script:
- sudo rm -rf *
.validate: &validate
stage: build
script:
- 'sudo mvn $MAVEN_CLI_OPTS_1 test-compile'
- 'sudo 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:
- 'sudo mvn $MAVEN_CLI_OPTS_1 verify'
- 'sudo mvn $MAVEN_CLI_OPTS_2 verify'
except:
- master
# 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:
image: maven:3.6.0-jdk-8
stage: deploy
script:
- sudo systemctl stop dmn-verifier-backend
- sudo systemctl stop dmn-verifier-frontend
- 'sudo mvn $MAVEN_CLI_OPTS_1 clean install -DskipTests'
- sudo cp dmnverifierapi/target/*-runner.jar /opt/dmn/dmn-backend-runner.jar
- 'sudo mvn $MAVEN_CLI_OPTS_2 clean install -DskipTests'
- sudo cp dmnverifierfrontend/target/*-runner.jar /opt/dmn/dmn-frontend-runner.jar
- sudo systemctl start dmn-verifier-backend
- sudo systemctl start dmn-verifier-frontend
only:
- master