IntegrateService/.gitlab-ci.yml

68 lines
1.4 KiB
YAML

stages :
- sonarqube-check
- compile
- integration-test
- package
# 代码质量检查
sonarqube-check:
stage: sonarqube-check
tags:
- linux-maven
image: maven:3.9.3-eclipse-temurin-17
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
cache:
key: "${CI_JOB_NAME}"
paths:
- .sonar/cache
script:
- mvn verify sonar:sonar
allow_failure: true
only:
- merge_requests
- master
- main
- develop
# 编译
compile :
stage : compile
tags :
- linux-maven
only :
- master
script:
- echo "=============== 开始编译任务 ==============="
- mvn clean compile -DskipTests
# 集成测试
integration-test:
stage : integration-test
tags :
- linux-maven
only :
- master
script :
- echo "=============== 开始集成测试 ==============="
- mvn test
artifacts:
when : always
reports:
junit:
- target/surefire-reports/TEST-*.xml
- target/failsafe-reports/TEST-*.xml
dependencies:
- compile
# 打包
package :
stage : package
tags :
- linux-maven
only :
- master
script:
- echo "=============== 开始打包任务 ==============="
- mvn clean package