用途:在 Git 仓库中搭建 CI/CD 流水线,让 PR 做校验、main 或 tag 触发发布。先识别项目技术栈(package.json、go.mod、Cargo.toml、*.csproj、Gradle、Xcode),避免把 Node 工作流套用到 Go 等项目。
主要能力:组织 .github/workflows 下的 ci.yml 与 deploy.yml(或同文件独立 job),并配置 dependabot.yml 更新 actions;CI 覆盖每个 PR,部署放在独立 workflow/job 并用 needs: 串联。支持并行 job(lint、test、build)、matrix、缓存与制品、可复用 workflow(workflow_call)和 composite action。
必要规则:workflow/job 显式声明 permissions,默认 contents: read;仅 OIDC 交换的 job 使用 id-token: write,有 OIDC 时不使用长期 access key;secrets 只放 GitHub Secrets/Environments,不写入 YAML、echo 或 fork 的 pull_request;部署用 if: github.ref == 'refs/heads/main'(或 tag)并配合 environment: production;官方 action 固定 major 版本(如 actions/checkout@v4),不用第三方 @master/@main;CI 使用 npm ci、go mod download 等确定性命令。
使用方式:保留仓库已有文件,不另建并行 ci.yml;触发仓库已有的 lint、typecheck、unit,不只为 YAML 新增工具;缓存优先用 setup-node/setup-go/setup-java 的 cache:,actions/cache 仅作补充;制品用 upload-artifact 并设短保留期;部署顺序为测试通过 → migrate → app → health/smoke。
适用场景:通用 CI/CD、monorepo 路径过滤、OIDC 云部署、受控生产发布。移动端商店、macOS 公证、watchOS 等由对应 github-actions-* 技能处理,本技能不覆盖。
限制与反模式:避免 permissions: write-all、每个 job 都放 AWS secret、测试与部署同 job 无 needs、curl | bash、复制含已停用 node-version 的工作流、PR 测试使用 continue-on-error;pull_request_target 几乎不用,不用 fork 代码配合 secrets;GITHUB_TOKEN 最小权限,非必要不设 persist-credentials: true。具体平台与价格信息暂未提供。