概述目标:用`workflow_call`复用流水线逻辑,用`matrix`并行构建与测试,配合缓存与并发控制提升速度与稳定性。适用:多语言/多版本测试、跨环境部署、统一的质量门控。核心与实战可复用工作流(`.github/workflows/reusable.yml`):name: reusable on: workflow_call: inputs: node-version: required: true type: string secrets: NPM_TOKEN: required: false jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ inputs.node-version }} cache: 'npm' - run: npm ci - run: npm test --if-present 调用方工作流(`.github/workflows/ci.yml`):name: CI on: push: branches: [ main ] pull_request: branches: [ main ] concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: matrix-build: strategy: fail-fast: false matrix: node: [18, 20] os: [ubuntu-latest] uses: ./.github/workflows/reusable.yml with: node-version: ${{ matrix.node }} secrets: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 部署环境与保护规则:name: Deploy on: workflow_dispatch: jobs: to-prod: environment: production runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: echo "Deploying..." 示例缓存与日志检查:-- setup-node 启用 npm 缓存;在作业日志中检查 cache restore/save 步骤 手动触发部署:-- 通过UI触发 workflow_dispatch;在环境保护规则通过后执行 验证与监控执行历史与并发:在Actions页面检查同分支并发是否被取消;确保`concurrency.cancel-in-progress`生效。复用正确性:在调用方的日志中确认复用工作流步骤按`inputs`参数执行。成果质量:查看测试报告、覆盖率与构建产物上传。常见误区复用工作流路径或名称错误导致调用失败;需使用相对路径并匹配文件名。缓存未命中导致构建慢;确保锁文件存在且启用对应包管理器缓存选项。未设环境保护规则导致误部署;应在环境设置中启用审批与机密保护。结语通过可复用工作流与矩阵并行,结合缓存与并发治理,可提高CI/CD效率并保证可重复性与合规性。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部