blob: 6622599b170d36019e898cfa1efd1d22b6ae6b08 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
image: 192.168.40.153:8082/common/maven:3.8.1-openjdk-11-slim
variables:
MAVEN_CLI_OPTS: --batch-mode --errors --show-version
SONAR_HOST_URL: http://192.168.40.153:9900
SONAR_PROJECT_KEY: groot-stream
stages:
- test
- build
- deploy
# 代码测试
test:
stage: test
script:
- echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
# 由于该项目引用了自身子模块中使用 shade-plugin 生成的 uber-jar,
# 故而导致需要先执行这些子模块的 package 操作才能使其他模块正常执行 test,所以此处使用 package 代替 test 用于执行单元测试
- mvn $MAVEN_CLI_OPTS clean package
only:
- merge_requests
# - tags
# 构建。一般用于构建 develop 分支上的 snapshot 版本。
build:
stage: build
script:
- echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
# - mvn $MAVEN_CLI_OPTS enforcer:enforce@snapshot-version-check
- mvn $MAVEN_CLI_OPTS clean package -DskipTests
only:
- develop
# 发布。用于发布候选版本,正式版本以及修订版等 release 版本。
deploy:
stage: deploy
script:
- echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
#- mvn $MAVEN_CLI_OPTS enforcer:enforce@release-version-check
- |-
mvn $MAVEN_CLI_OPTS clean verify -DskipTests sonar:sonar -Dsonar.projectKey=$SONAR_PROJECT_KEY \
-Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN_TOKEN \
-Dsonar.qualitygate.wait=true -Dsonar.qualitygate.timeout=300
- mvn $MAVEN_CLI_OPTS clean deploy -DskipTests
only:
- tags
|