locales/zh-CN/skills/ci-cd-assistant/SKILL.md
引导 CI/CD 管线设计、配置和优化。 使用时机:设置管线、优化构建时间、配置部署阶段。 关键字:CI/CD, pipeline, GitHub Actions, deployment, build, 持续集成, 持续部署。
npx skillsauth add asiaostrich/universal-dev-standards locales/zh-CN/skills/ci-cd-assistantInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
语言: English | 简体中文
引导 CI/CD 管线设计,遵循业界最佳实践与 DORA 指标。
BUILD ──► TEST ──► ANALYZE ──► DEPLOY ──► VERIFY
构建 测试 分析 部署 验证
| 阶段 | 用途 | 关键活动 | |------|------|----------| | Build | 编译与打包 | 安装依赖、编译、产出制品 | | Test | 质量验证 | 单元、集成、端到端测试 | | Analyze | 代码质量 | 代码检查、安全扫描、覆盖率 | | Deploy | 发布到环境 | 预备环境 → 生产环境部署 | | Verify | 部署后验证 | 冒烟测试、健康检查、监控 |
| 指标 | 精英 | 高 | 中 | 低 | |------|------|-----|-----|-----| | 部署频率 | 按需(每日多次) | 每周至每月 | 每月至半年 | > 6 个月 | | 变更前置时间 | < 1 小时 | 1 天至 1 周 | 1 至 6 个月 | > 6 个月 | | MTTR | < 1 小时 | < 1 天 | 1 天至 1 周 | > 6 个月 | | 变更失败率 | 0–15% | 16–30% | 16–30% | > 30% |
node_modules、.m2、pip cache| 平台 | 缓存 | 并行化 | 密钥 | 备注 |
|------|------|--------|------|------|
| GitHub Actions | actions/cache | matrix 策略 | secrets.* | 使用 reusable workflows |
| GitLab CI | cache: 关键字 | parallel: 关键字 | CI/CD Variables | 使用 include: 模块化 |
| Jenkins | Stash/unstash | parallel {} 块 | Credentials plugin | 使用 shared libraries |
反复出现的 CI 作业编排模式(UDS #126)。每条原则平台无关;对照栏显示各平台的写法。
将重型慢速套件(完整 E2E)以触发条件与每次变更的轻量检查分离,使 runner 成本随风险而非每次 push 增长。
| 需求 | GitHub Actions | GitLab CI | Jenkins |
|------|----------------|-----------|---------|
| 重型套件排程触发 | on: schedule: | rules: if $CI_PIPELINE_SOURCE == "schedule" | cron 触发 |
| 轻量检查每次变更 | on: pull_request | rules: if $CI_PIPELINE_SOURCE == "merge_request_event" | SCM webhook |
⚠️ 反模式:每次 push 跑完整 E2E。
当多个作业触及同一个有状态共享资源(单一测试环境 / runner / 部署目标)时,序列化以防并发污染。
| 需求 | GitHub Actions | GitLab CI | Jenkins |
|------|----------------|-----------|---------|
| 互斥 | concurrency: { group: … } | resource_group: | lock(resource: …) |
⚠️ 反模式:两作业并行写同一 DB/环境。
当某范围的 HEAD 自上次成功未变(或变更只触及范围外路径)时,跳过 deploy/test 以节省 runner。明确定义「未变」(上次成功 SHA 或路径过滤)。
| 需求 | GitHub Actions | GitLab CI | Jenkins |
|------|----------------|-----------|---------|
| 范围未变则跳过 | paths: / dorny/paths-filter | rules: changes: / SHA 比对 | changeset 条件 |
⚠️ 反模式:文档-only commit 跑完整部署。
明确声明每个作业是 advisory(回报但不挡合并)或 gating(挡合并)。混淆会在噪声上卡关、或漏掉该挡的。(安全闸门是 Block/Warn/Log 特例——见 pipeline-security-gates。)
| 需求 | GitHub Actions | GitLab CI | Jenkins |
|------|----------------|-----------|---------|
| Advisory(不挡) | continue-on-error: true | allow_failure: true | catchError → unstable |
| Gating(挡合并) | required status check | 默认(无 allow_failure) | hard fail |
⚠️ 反模式:把噪声 lint 设硬闸,或把关键套件设 advisory。
npm ci EUSAGEnpm ci 需要 committed lockfile。若 package-lock.json 被 gitignore,CI 会以 EUSAGE 失败。修法:commit lockfile,或 CI-only 安装用 npm install --no-audit --no-fund --ignore-scripts(跳过 CI 不需要的 prepare/husky hook)。
/ci-cd - 显示完整管线指引/ci-cd github-actions - GitHub Actions 专属提示/ci-cd --optimize - 管线优化建议/ci-cd build - 构建阶段最佳实践/ci-cd 完成后,AI 助手应建议:
管线指引已提供。建议下一步:
- 执行
/deploy设定部署策略- 执行
/security检查管线安全- 执行
/testing设计测试策略- 执行
/commit创建规范化提交
tools
[UDS] 從規格衍生 BDD 場景、TDD 骨架或 ATDD 表格
development
[UDS] /methodology: 選擇並追蹤開發方法論(SDD/BDD/TDD)。 Use when: 選擇方法論、切換開發模式、查詢當前方法論狀態。 若要查詢各階段對應指令請用 /dev-workflow。
testing
[UDS] Derive BDD scenarios, TDD skeletons, or ATDD tables from specifications
development
[UDS] Create or review specification documents for Spec-Driven Development