SuperAPI AI 工具集

github-actions

部署与运维

查看项目

更新于 10-16 09:56

技能介绍

用途:GitHub Actions 是内置于 GitHub 的 CI/CD 平台,用于在 GitHub 仓库内直接构建、测试和发布软件,并支持可复用工作流、矩阵构建以及通过 OIDC 实现免密云部署。该技能提供工作流语法、矩阵、复合操作、缓存、环境与 OIDC 认证方面的协助。

适用场景:与 GitHub 集成的云端 CI/CD;拉取请求上的自动化检查(lint、类型检查、单元测试、安全扫描);通过 OIDC 安全部署到 AWS、Azure、GCP 而无需存储长期访问密钥;跨操作系统与语言版本的矩阵多平台构建。

使用方式示例:

.github/workflows/ci.yml

name: CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: "20" - run: npm ci - run: npm test

核心能力包括:依赖缓存的生产级工作流、通过 aws-actions/configure-aws-credentials@v4 配合 permissions: id-token: write 进行 OIDC 认证、使用 strategy.matrix 跨 OS 与版本测试、并发控制(concurrency 配合 cancel-in-progress)。

最佳实践:将第三方操作固定到明确的提交 SHA 或可信的 @v4 版本;使用并发控制取消过时的运行;通过 OIDC(id-token: write)而非长期 API 密钥认证云资源;用顶层 permissions 块按最小权限显式限制权限。避免在未严格清理来自公共复刻的不可信代码时使用 pull_request_target;避免在日志中输出敏感变量;避免无依赖缓存运行 CI。

常见故障排查:Resource not accessible by integration 通常因缺少 GITHUB_TOKEN 权限,需显式添加 permissions;Node.js 16 actions are deprecated 需将操作版本升级到 @v4;git 退出码 128 通常因缺少私有仓库或子模块访问令牌,可传入 token。其他未在资料中提供的收费、限制与使用细节暂未提供。