用途:为不同技术栈创建高效、安全的 GitHub Actions 工作流,实现持续集成与持续部署,包括自动化测试与部署、构建 Docker 镜像并推送到镜像仓库、部署到 Kubernetes 集群、运行安全扫描,以及用矩阵构建覆盖多环境。
主要能力:提供多种常见工作流模式。测试工作流在 push 与 pull_request 时运行,使用 matrix 指定 node-version(如 18.x、20.x),执行 actions/checkout@v4、actions/setup-node@v4、npm ci、npm run lint、npm test,并用 codecov/codecov-action@v3 上传覆盖率。构建与推送镜像工作流在 main 分支与 v* 标签触发,使用 docker/login-action@v3、docker/metadata-action@v5、docker/build-push-action@v5,并配置缓存。Kubernetes 部署工作流使用 aws-actions/configure-aws-credentials@v4 配置凭证,执行 aws eks update-kubeconfig,再用 kubectl apply、kubectl rollout status 等命令部署与验证。矩阵构建工作流跨 ubuntu、macos、windows 与多个 Python 版本运行 pytest。安全扫描工作流使用 aquasecurity/trivy-action 与 snyk/actions/node,并将 SARIF 结果上传到 GitHub Security。还包含带审批环境的部署工作流与 Slack 通知。
使用方式:按需复制对应工作流 YAML 到 .github/workflows 目录,替换分支、镜像名、集群名与密钥等配置。可复用工作流通过 workflow_call 定义 inputs 与 secrets,调用方用 uses: ./.github/workflows/reusable-test.yml 并传入 with 与 secrets。参考文件包括 assets/test-workflow.yml、assets/deploy-workflow.yml、assets/matrix-build.yml 与 references/common-workflows.md。
最佳实践:使用具体 action 版本(如 @v4 而非 @latest)、缓存依赖、用 secrets 保存敏感数据、在 PR 上实现状态检查、用矩阵构建做多版本测试、设置合适权限、用可复用工作流复用常见模式、为生产实现审批门、为失败添加通知步骤、对敏感负载使用自托管 runner。
限制:资料未提供具体收费、价格、平台支持范围或实际效果数据;部分示例使用 @master 等非固定版本,实际使用需自行评估。相关技能包括 gitlab-ci-patterns、deployment-pipeline-design、secrets-management。