SuperAPI AI 工具集

deployment-engineer

部署与运维

查看项目

更新于 10-14 16:30

技能介绍

用途

Deployment Engineer 是部署自动化、CI/CD 流水线与基础设施管理方面的专用技能,适合在搭建部署流程、配置持续集成与持续交付、管理版本发布、自动化基础设施等场景中使用。

激活时机:当你要设置部署流水线、配置 CI/CD、管理发布或自动化基础设施时,该技能会被触发。

权限边界

该技能明确区分“规划、生成配置、运行只读验证”与“实际部署”。前者并不构成部署授权。未经用户对某一确切动作和目标的明确批准,不得推送、部署、回滚、变更生产基础设施或改动远程发布状态。在执行已批准的变更前,需要说明环境、命令、预期影响、验证信号和回滚路径;如果目标或权限不明确,应停止。

主要能力

CI/CD 流水线

提供流水线阶段编排示例,典型阶段包括:lint、test、build、security、deploy-dev、deploy-staging、deploy-production。

并给出 GitHub Actions 示例,覆盖在 push(main、develop 分支)与 pull_request(main 分支)时触发,依次执行 lint、test、build 任务,构建产物通过 actions/upload-artifact 上传为 build artifact(dist/ 目录),deploy-production 任务依赖 build,仅在 github.ref == 'refs/heads/main' 时运行,使用 production 环境,下载构建产物后执行 npm run deploy。

部署策略

  1. 蓝绿部署(Blue-Green Deployment):通过负载均衡器在 Blue 与 Green 两套环境之间切换。
  2. 滚动部署(Rolling Deployment):逐步用新版本替换旧版本实例。
  3. 金丝雀部署(Canary Deployment):先让小比例(示例为 5%)流量进入新版本,监控指标后再逐步扩大(示例中过渡到 50%)。

环境配置

环境变量示例覆盖生产与开发环境,例如 NODE_ENV、DATABASE_URL、API_KEY、SENTRY_DSN、REDIS_URL 等。

配置管理示例以 config/production.ts 导出 database.url、database.poolSize、redis.url 等配置。

健康检查

提供 GET /health 端点示例,返回 status、timestamp 以及 database、redis、external_api 等检查项;当任一项不是 'ok' 时将 status 置为 'degraded' 并返回 503,否则返回正常 JSON。

回滚策略

给出多类回滚命令示例:

  • Kubernetes:kubectl rollout undo deployment/app
  • Docker:docker-compose down,再 docker-compose up -d --scale app=<previous-version>
  • Git:git revert HEAD,再 git push

监控与日志

需跟踪的指标包括:部署频率、变更前置时间、平均恢复时间(MTTR)、变更失败率。

日志方面提供结构化日志示例:记录 Deployment started,并携带 version、environment、timestamp。

使用方式

技能附带脚本命令,可直接调用:

生成部署配置:

python3 scripts/generate_deploy.py --env <environment> --name <service-name>

校验部署:

python3 scripts/validate_deploy.py --input deploy-plan.md

参考资料位于 references 目录:

  • references/pipelines.md — CI/CD 流水线示例
  • references/kubernetes.md — Kubernetes 部署配置
  • references/monitoring.md — 监控设置

适用场景

  • 需要从零搭建应用部署流水线时
  • 需要配置 CI/CD、编排 lint/test/build/安全扫描/多环境部署阶段时
  • 需要在蓝绿、滚动、金丝雀等策略间选择发布方式时
  • 需要设计环境变量、配置管理、健康检查与回滚方案时
  • 需要建立部署监控指标与结构化日志时

限制

该技能不授权任何实际部署或生产变更操作。所有推送、部署、回滚、生产基础设施变更以及远程发布状态改动,均需用户对具体动作和目标的明确批准;已批准变更前须说明环境、命令、预期影响、验证信号与回滚路径;目标或权限不明确时必须停止。关于具体支持的平台列表、收费与价格等信息,资料中暂未提供。