GitHub Actions 实战配方
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的安装指南,将 @kunlungrowth/github-actions-cookbook 安装到你的 AI 助手中。
技能介绍
这个技能解决什么问题
写 GitHub Actions 的人都遇到过这两种情况:要么打开 awesome-actions 列表,面对上千个 action 不知道挑哪个;要么好不容易拼出一条流水线,结果每次提交都跑 20 分钟,还动不动因为网络抖动挂掉。慢的流水线没人愿意等,脆的流水线没人敢信。这个技能把"选型 → 组合 → 调优"压缩成一套可复用的配方,帮你从零散信息里组装出快、稳、可读的 workflow。
核心能力与关键步骤
最小可用的流水线骨架
技能首先给出任何项目都适用的起点:actions/checkout 拉代码 → 对应语言的 setup-* 装环境 → 跑测试 → 缓存依赖。不需要花哨的结构,先把 CI 跑通。
提速三板斧
- 缓存:用
actions/cache缓存node_modules、pip 包、~/.gradle等依赖目录,避免每次从头安装 - 矩阵:用
strategy.matrix一次测试多个 Node/Python/Go 版本或多操作系统,单份配置覆盖多环境 - 复用:用
workflow_call把公共步骤抽成可调用的工作流,而不是在每个文件里复制粘贴
常用选型表
技能内置一份场景 → action 映射,涵盖检出代码、装环境、构建容器(docker/build-push-action)、发版(softprops/action-gh-release)、缓存等典型场景,直接给出社区验证过的选项。
安全红线
跨仓库或云平台授权优先用 OIDC 换取临时凭证,而不是把长期密钥硬编码进 secrets。同时明确标注三个高频陷阱:
pull_request_target误用会泄露密钥给 fork 仓库- 每步都
npm install且不加缓存 → 又慢又容易挂 - action 使用
@master浮动版本 → 构建不可复现,应锁定@v4或具体哈希
适用边界
所有配方以 GitHub 官方文档为准,AI 生成的配置在上线前应人工审查。当自动化流程拥有仓库写权限时,严格遵循最小授权原则,并审查每个第三方 action 的来源——这是安全的最后一道防线,也是这个技能反复强调的底线。
使用场景
- 面对海量的第三方 action 列表,需要挑选合适的组件并拼装出首个可用的自动化测试流水线。
- 现有 CI 构建耗时过长且频繁失败,需要引入依赖缓存与矩阵测试来提速并提升整体稳定性。
- 多个仓库需要共享相同的构建步骤,提取公共逻辑为可复用的工作流以避免重复配置和维护。
- 流水线需要跨仓库或云平台部署,改用 OIDC 获取临时凭证以替代硬编码的长期密钥。
适合人员
- 缺乏专职运维的独立开发者:需要一人搞定项目的自动化测试与部署,希望用最小可用配置跑通流水线。
- 流行开源项目的维护者:面临多语言版本与多操作系统的兼容测试压力,急需通过矩阵构建和缓存降低 CI 耗时。
- 企业内部 DevOps 安全审计员:负责排查自动化流水线中的密钥泄露风险,重点关注 OIDC 授权与第三方 action 来源。