GitHub Actions CI 性能优化(Matrix、缓存、并行与条件执行)
关键实践与参数
- Matrix:按 Node 版本/OS/包组合并行运行;控制并发与失败策略。
- 缓存:使用
actions/cache 对依赖与构建产物缓存;稳定键与恢复策略。
- 条件执行:仅受影响模块运行;使用
paths/if 与 needs 优化管线。
配置示例(片段)
jobs:
build:
strategy:
matrix: { node: [18, 20], os: [ubuntu-latest] }
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: ${{ matrix.node }} }
- uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- run: npm ci && npm run build
验证方法
- 对比开启缓存与并行前后的时长与失败率;统计缓存命中率。
- 观察并发限制与队列等待;优化并发与资源配额。
- 回归条件执行的覆盖与正确性。
注意事项
- 缓存键稳定且包含依赖锁;避免污染。
- 机密与令牌使用
secrets 与临时凭证;避免泄露。
- 失败重试与守门阈值设置,形成闭环。
发表评论 取消回复