SuperAPI AI 工具集

github-actions-cicd

部署与运维

查看项目

更新于 10-15 12:23

技能介绍

用途

该技能用于定义基于 GitHub Actions 的 CI/CD 流水线最佳实践,目标是通过自动化完成测试、安全扫描与部署。它给出工作流应包含的环节、安全配置要求,以及一个可直接参考的完整示例工作流。

主要能力

按技能规则,工作流必须包含以下环节:

  • 代码质量检查(linting、格式化)
  • 安全扫描(CodeQL、Dependabot、ZAP)
  • 性能审计(Lighthouse)
  • 构建与压缩(minification)
  • 部署(生产环境需审批)

示例工作流包含四个作业:

  1. validate:检出代码后执行 HTML 校验(npm run validate:html)与 CSS lint(npm run lint:css)。
  2. security-scan:检出代码后初始化并执行 CodeQL 分析,再运行 ZAP Baseline Scan,目标为 https://www.hack23.com。
  3. lighthouse:使用 treosh/lighthouse-ci-action@v10 对指定 URL 运行 Lighthouse,读取 budgetPath: ./budget.json 并上传产物。
  4. deploy:依赖前三个作业,仅在 main 分支触发;配置 AWS 凭证后同步到 S3(aws s3 sync . s3://... --delete),再对 CloudFront 执行缓存失效(aws cloudfront create-invalidation --distribution-id ... --paths "/*")。

工作流触发条件为推送到 main 分支以及针对 main 的拉取请求,并声明了 permissions:contents: read、security-events: write。

使用方式

技能以规则加示例的形式提供。示例工作流使用 actions/checkout@v4、github/codeql-action/init@v3、github/codeql-action/analyze@v3、zaproxy/action-baseline@v0.10.0、treosh/lighthouse-ci-action@v10、aws-actions/configure-aws-credentials@v4 等动作,并通过 secrets 引用 AWS_ROLE_ARN、S3_BUCKET、CF_DIST_ID 等敏感配置。

安全最佳实践

必须做到:

  • 使用 OIDC 进行 AWS 认证(不使用长期密钥)
  • 将密钥存储在 GitHub Secrets 中
  • 使用最小权限的 IAM 角色
  • 用完整 commit SHA 固定 action 版本
  • 启用 Dependabot 更新 action
  • 使用 permissions 键最小化令牌作用域

禁止:

  • 将密钥提交到仓库
  • 在工作流中使用个人访问令牌
  • 授予过宽的权限

适用场景

适合需要自动化代码质量检查、安全扫描、性能审计与部署的 GitHub 项目,尤其是静态站点或前端项目;示例展示了结合 AWS S3 与 CloudFront 的发布流程。

限制

资料未提供该技能的安装命令、收费方式、支持平台范围或实际运行效果等信息,暂未提供。相关文档提及 aws-s3-cloudfront SKILL.md 与 secure-development SKILL.md,但未给出其具体内容。