GitHub Actions
GitHub 的事件驱动工作流平台,以及 release-please 历史权限排障的适用边界。
#ops
#resource
#growing
#github-actions
#github
#tool
#web
GitHub Actions
GitHub Actions 是 GitHub 的事件驱动自动化平台,可用于 CI/CD、定时任务和仓库维护。工作流保存在 .github/workflows/,由事件触发;job 在 runner 上执行,step 可以运行脚本或调用 action。
在 CI/CD 中的作用
- 持续集成(CI):频繁集成代码,自动构建和测试,尽早发现集成问题。
- 持续交付(Continuous Delivery):让变更保持可发布状态,上线通常仍有人工决策。
- 持续部署(Continuous Deployment):通过验证的变更自动进入生产环境。
Actions 提供执行这些流程的机制。可复现性还依赖固定的源码、依赖、工具链和环境;一个绿色 workflow 并不自动证明发布产物正确或部署成功。
配置入口
- 多服务的 job、工具链与并发策略:github-actions-multi-service-ci。
- 静态检查工作流:actionlint;本地执行部分工作流逻辑:act。
- 选择 ref 和输入手动运行:github-actions-manual-trigger。
- 生成 Release PR、版本和 changelog:release-please。
历史排障:release-please 的权限
原笔记记录过 token 权限不足与 Error: release-please failed: Error adding to tree,并保留了以下讨论:
这些是历史排障线索,不足以证明所有项目都必须使用 PAT,或 release-please 永远不能更新 workflow 文件。当前 action 默认使用 GITHUB_TOKEN;需区分 API 写权限、仓库创建 PR 的策略,以及 bot 事件能否触发后续 workflow。具体选择见 release-please-automated-versioning。
原记录采用过“不让 release-please 管理 workflow 文件”的规避方式。它不意味着每次修改 .github/workflows/ 都必须手动 release:是否发版本取决于该项目的发布范围、提交与配置;若确实要由工具改写 workflow 文件,还需核对相应 token 类型和 workflow 写权限。上述报错也不能仅凭文本确定根因。
[!info] related notes