stages : - sonarqube-check - compile - integration-test - package # 代码质量检查 sonarqube-check : stage : sonarqube-check tags : - linux-maven image : maven: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 -Dsonar.exclusions=target/generated-sources/**/* -Dsonar.qualitygate.wait=true -Dsonar.qualitygate.timeout=600 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: - cs-base/target/surefire-reports/TEST-*.xml - cs-crypto/target/surefire-reports/TEST-*.xml - cs-protocol/target/surefire-reports/TEST-*.xml - cs-database/target/surefire-reports/TEST-*.xml - cs-authentication/target/surefire-reports/TEST-*.xml - cs-restful/target/surefire-reports/TEST-*.xml - cs-integrate-test/target/surefire-reports/TEST-*.xml dependencies: - compile # 打包 package : stage : package tags : - linux-maven only : - master script: - echo "=============== 开始打包任务 ===============" - mvn clean package