--- # 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: - 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 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 - 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 # - sudo systemctl start dmn-verifier-backend # - sudo systemctl start dmn-verifier-frontend only: - master - feature/gitlabci