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