summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml47
1 files changed, 47 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..2959ffc
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,47 @@
+image: 192.168.40.153:9080/common/maven:3.8.1-openjdk-11-slim-with-git
+
+variables:
+ MAVEN_CLI_OPTS: "--batch-mode --errors --show-version"
+
+stages:
+ - check
+ - test
+ - build
+
+snapshot-version:
+ stage: check
+ script:
+ - mvn $MAVEN_CLI_OPTS enforcer:enforce@snapshot-version-check
+ rules:
+ - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" && $CI_PIPELINE_SOURCE == "merge_request_event"
+
+non-snapshot-version:
+ stage: check
+ script:
+ - mvn $MAVEN_CLI_OPTS enforcer:enforce@release-version-check
+ - |-
+ if `mvn $MAVEN_CLI_OPTS dependency:get@release-deploy-check > /dev/null 2>&1`; then
+ echo "The current version has been deployed."
+ exit 1
+ else
+ echo "The current version has not been deployed."
+ fi
+ rules:
+ - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /(^master$|^release\/)/ && $CI_PIPELINE_SOURCE == "merge_request_event"
+
+test:
+ stage: test
+ script:
+ - mvn $MAVEN_CLI_OPTS clean test
+ only:
+ - merge_requests
+
+# Used for building snapshot versions on the develop branch.
+build:
+ stage: build
+ script:
+ - echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
+ - mvn clean site deploy -DskipTests
+ only:
+ - master
+ - /^release\// \ No newline at end of file