DevOps
建立仓库的 CI 流水线
最小权限的 CI 流程,在提出的变更上可复现地安装、验证、测试并构建项目。
流程
按这个顺序做。
- 阅读仓库支持的运行时、包管理器、锁文件、测试命令、受保护分支和既有自动化。
- 创建在拉取请求和目标分支触发的最小工作流,固定运行时版本,并用尊重锁文件的安装。
- 设置明确令牌权限,避免向不可信贡献暴露密钥,并在适当时为被取代运行添加并发取消。
- 按顺序添加格式或代码规范检查、类型检查、单元测试、集成测试和构建作业,带合理矩阵和缓存。
- 在分支上运行工作流,检查日志和产物,再引入受控失败以证明必检能检出。
- 在启用合并门禁前,记录检查名称、维护责任人、重跑程序和分支保护要求。
先准备
猫会向你要的输入。
- 仓库与默认分支
- 规范安装、检查、测试与构建命令
- 支持的运行时矩阵
- 密钥与分支保护策略
路由器 + 一份 playbook
先路由。只选一份。
Cat Paw 每次任务只加载一份 playbook,不合并多份。先走这个路由器;其余路径是此 workflow 可检查的候选。
- 路由器:
engineering-pack skills/engineering/addyosmani/ci-cd-and-automation/SKILL.md
界限
界限跟着提示一起走。
- 使用最小权限工作流权限,并把第三方动作固定到可信版本或提交。
- 绝不在日志或产物中打印或上传密钥。
- 没有责任人和整改计划,不要把不稳定或跳过的作业标为必检质量信号。
完成代表
一个可核对的终点。
拉取请求会触发工作流,干净变更上所有预定作业通过,故意缺陷会产生失败的必检,工作流权限与归属已记录。
来源
这个流程从哪来。
- docs.github.com/en/actions/tutorials/build-and-test-code
- docs.github.com/en/actions/security-guides/automatic-token-authentication
来源确立 workflow 的模式。如有 Reddit 或社区帖子,视为实务轶事,不是普遍事实。