用途:提供可投入生产的 GitHub Actions 工作流模式,用于持续集成与持续部署(CI/CD),适配多种技术栈。
主要能力:
- 测试工作流:在 push 与 pull_request 时触发,使用矩阵指定多个 Node.js 版本,执行依赖安装、lint、测试并上传覆盖率至 Codecov。
- 构建并推送 Docker 镜像:在 main 分支与 v* 标签触发,登录容器镜像仓库,用 metadata-action 提取标签,执行 build-push-action 构建并推送,使用 GHA 缓存。
- 部署到 Kubernetes:配置 AWS 凭证、更新 kubeconfig,用 kubectl apply 部署并检查 rollout 状态与服务、Pod。
- 矩阵构建:跨 ubuntu、macos、windows 与多个 Python 版本执行测试。
- 安全扫描:使用 Trivy 漏洞扫描并上传 SARIF,结合 Snyk 扫描。
- 带审批的生产部署:通过 environment 设置审批与 URL,成功后发送 Slack 通知。
使用方式:将对应模板文件放在 .github/workflows/ 下;引用 assets/test-workflow.yml、assets/deploy-workflow.yml、assets/matrix-build.yml 等参考文件。可复用工作流通过 workflow_call 定义输入与密钥,再以 uses 调用。
最佳实践:使用固定动作版本;缓存依赖;敏感数据用 secrets;PR 加状态检查;矩阵多版本测试;设置合适权限;复用工作流;生产加审批门;失败加通知;敏感负载用自托管 runner。
限制:资料未提供具体收费、平台支持范围或效果保证;部分示例命令与配置可能需按实际仓库调整,具体以官方文档为准。