Files
maxf 3ecc3cc8c6
CI - Build and Quality Check / build (push) Has been cancelled
CI - Build and Quality Check / security-check (push) Has been cancelled
CI - Build and Quality Check / release (push) Has been cancelled
CI/CD 修正gitee流水线语法
2026-04-24 15:30:45 +08:00

158 lines
4.5 KiB
YAML

# ============================================================
# Gitee Go 主分支流水线配置
# 文件位置: .workflow/MasterPipeline.yml
# 触发条件: master 分支 push 事件
# JDK 版本: Java 21 (Eclipse Temurin)
# Maven 版本: 3.9.x
# ============================================================
version: '1.0'
name: master-pipeline
displayName: Master分支构建流水线
# ============================================
# 触发器配置
# ============================================
triggers:
push:
branches:
- matchType: PRECISE
branch: master
# ============================================
# 流水线阶段定义
# ============================================
stages:
# ------------------------------------------
# 阶段1: 编译构建
# ------------------------------------------
- stage:
name: compile-stage
displayName: 编译构建
strategy: naturally
trigger: auto
steps:
- step: build@maven
name: maven_compile
displayName: Maven 编译
# JDK 版本: 支持 8, 11, 17, 21
jdkVersion: 21
# Maven 版本: 支持 3.2.5, 3.3.9, 3.5.2, 3.5.3, 3.5.4, 3.6.1, 3.6.3, 3.9.x
mavenVersion: 3.9.11
# 自定义构建命令
commands:
- 'mvn -B clean compile -Dmaven.test.skip=true'
# 构建产物配置
artifacts:
- name: COMPILE_ARTIFACT
path:
- './target/classes/'
# ------------------------------------------
# 阶段2: 单元测试
# ------------------------------------------
- stage:
name: test-stage
displayName: 单元测试
strategy: naturally
trigger: auto
dependsOn: compile-stage
steps:
- step: build@maven
name: maven_test
displayName: Maven 测试
jdkVersion: 21
mavenVersion: 3.9.11
commands:
- 'mvn -B test'
# 测试报告
report:
path:
- './target/surefire-reports/'
# 测试产物
artifacts:
- name: TEST_ARTIFACT
path:
- './target/surefire-reports/'
- './target/site/jacoco/'
# ------------------------------------------
# 阶段3: 代码质量检查
# ------------------------------------------
- stage:
name: quality-stage
displayName: 代码质量检查
strategy: naturally
trigger: auto
dependsOn: test-stage
steps:
# Checkstyle 代码风格检查
- step: build@maven
name: checkstyle_check
displayName: Checkstyle 检查
jdkVersion: 21
mavenVersion: 3.9.11
commands:
- 'mvn -B checkstyle:check || true'
artifacts:
- name: CHECKSTYLE_ARTIFACT
path:
- './target/checkstyle-result.xml'
# PMD 代码静态分析
- step: build@maven
name: pmd_check
displayName: PMD 静态分析
jdkVersion: 21
mavenVersion: 3.9.11
commands:
- 'mvn -B pmd:pmd || true'
artifacts:
- name: PMD_ARTIFACT
path:
- './target/pmd-report.xml'
# ------------------------------------------
# 阶段4: 安全扫描
# ------------------------------------------
- stage:
name: security-stage
displayName: 安全漏洞扫描
strategy: naturally
trigger: auto
dependsOn: quality-stage
steps:
- step: build@maven
name: owasp_scan
displayName: OWASP 依赖检查
jdkVersion: 21
mavenVersion: 3.9.11
commands:
- 'mvn -B org.owasp:dependency-check-maven:check -DmaxMemory=2048 || true'
artifacts:
- name: SECURITY_ARTIFACT
path:
- './target/dependency-check-report.html'
# ------------------------------------------
# 阶段5: 打包
# ------------------------------------------
- stage:
name: package-stage
displayName: 打包构建
strategy: naturally
trigger: auto
dependsOn: security-stage
steps:
- step: build@maven
name: maven_package
displayName: Maven 打包
jdkVersion: 21
mavenVersion: 3.9.11
commands:
- 'mvn -B package -DskipTests'
artifacts:
- name: PACKAGE_ARTIFACT
path:
- './target/*.jar'