SuperAPI AI 工具集

setup-ci

部署与运维

查看项目

更新于 10-16 08:53

技能介绍

setup-ci 是一个面向非开发者的 CI/CD 教学与脚手架技能,托管于 skills.sh,来源为 subinium/vibesubin。它的核心目标不是直接丢给使用者一段 YAML,而是从第一性原理出发,解释持续集成与持续部署的基本概念,再根据实际仓库生成可运行的测试与部署流水线。

用途方面,该技能适合那些从未读过 workflow 文件、但需要为项目建立自动化测试或部署流程的操作者。它默认操作者不了解 CI/CD,因此不会跳过概念解释,也不会用居高临下的方式表达。技能强调在开始前写出显式的假设清单,包括技术栈、部署目标、已有 CI 状态和密钥状态,遇到多栈共存、部署目标无法从配置中识别等模糊情况时会暂停并询问,避免静默选择造成错误。

主要能力方面,该技能会先通过两个问题了解操作者当前推送代码后的行为以及使用的 Git 托管平台,然后据此选择对应的 CI 系统。它支持 GitHub Actions、GitLab CI、Bitbucket Pipelines,对 Gitea/Forgejo、CircleCI、Travis 等也有对应文件映射。技能默认以 GitHub Actions 为脚手架,并说明其他平台需要调整的部分。它提供一份 CI 流水线组件树,将组件分为必做、推荐、可选、锦上添花和昂贵五类,帮助决定为特定仓库生成哪些内容。必做项包括检出、安装运行时、安装依赖、执行测试和状态上报;推荐项包括代码检查、类型检查、依赖缓存、并发组和分支/PR 过滤;可选自动部署仅在操作者要求时添加;昂贵项如端到端浏览器测试、视觉回归、负载测试等不会静默加入。

使用方式上,技能会先生成假设清单,再逐个提问,确认部署目标后选择 CI 托管平台,然后脚手架至少两个工作流:test.yml 在每次推送和 PR 时运行,deploy.yml 在 test.yml 成功后触发。生成的内容会根据仓库文件自动适配包管理器与框架,例如 pnpm-lock.yaml 使用 pnpm,yarn.lock 使用 yarn,Cargo.toml 使用 cargo,go.mod 使用 go test,Next.js 类应用通常只生成测试 CI 并让平台处理部署。对于 SSH 部署、托管平台、Fly.io/Cloud Run/Kubernetes 等不同目标,技能会给出对应的具体步骤与所需密钥。

安全方面,技能脚手架内置多项实践:顶层权限从 contents: read 开始并按需提升;第三方 Action 固定到完整提交 SHA 而非标签;部署时携带测试通过的同一次提交,避免部署错误版本;云部署优先使用 OIDC 而非长期密钥;生产部署使用受保护环境和审批门;建议 CODEOWNERS 覆盖 .github/workflows/;自托管 Runner 需显式允许并隔离;日志中不打印密钥;使用并发组避免部署竞争;设置任务超时;清理临时凭据;部署后执行健康检查。

适用场景包括个人项目、非开发者维护的仓库、需要从手动 SSH 部署迁移到自动化的项目,以及希望先建立测试再考虑部署的团队。限制方面,技能不会创建或管理凭据,只列出所需密钥;不会替换已有的可用 CI,除非操作者要求;对多服务 monorepo 会先询问覆盖范围;对没有部署目标的操作者会建议最简单的目标而非一次性搭建完整流水线。具体价格、平台支持范围等资料暂未提供。