SuperAPI AI 工具集

modern-automation-patterns

部署与运维

查看项目

更新于 10-15 12:25

技能介绍

用途

本技能提供一套面向 2025 年行业标准的 DevOps 自动化、CI/CD 流水线与云原生运维的生产级 Bash 模式。适用于编写 CI/CD 脚本(如 GitHub Actions、GitLab 等)、容器化环境脚本、云资源操作脚本以及部署流程脚本。

主要能力

容器感知脚本

  • 通过检测 /.dockerenv、/proc/1/cgroup 中的 docker 信息以及 KUBERNETES_SERVICE_HOST 环境变量,判断当前运行环境是 docker、kubernetes 还是宿主机,并据此选择不同的数据目录与配置目录。
  • 提供面向 Alpine 等无 bash 容器的最小化 /bin/sh 脚本模式,包含 PID 1 信号处理与子进程等待逻辑。
  • 提供容器健康检查脚本,检查进程是否运行、HTTP 健康端点是否可达、关键就绪文件是否存在。

CI/CD 流水线模式

  • GitHub Actions 辅助函数:检测 GitHub Actions 环境、写入 $GITHUB_OUTPUT、输出 error/warning/notice 注解、写入 $GITHUB_STEP_SUMMARY 作业摘要。
  • Azure DevOps 辅助函数:检测 TF_BUILD、设置输出变量、输出 error/warning 日志、分组 section 的开始与结束。
  • 多平台 CI 检测:识别 GitHub、Azure DevOps、GitLab、CircleCI、Jenkins 或本地环境,并提供统一的输出与错误上报函数。

云服务商模式

  • AWS:检查 AWS CLI 是否可用、获取账号 ID、从 Secrets Manager 读取密钥、带重试的 S3 上传、通过 STS 承担 IAM 角色并导出临时凭证。
  • Azure:检查 Azure CLI、获取订阅 ID、从 Key Vault 读取密钥、上传 Blob、获取托管身份令牌。

并行处理

  • 优先使用 GNU parallel 并行处理文件,不可用时回退到 bash 后台作业。
  • 提供作业池(job pool)实现,控制最大并发数并等待任意或全部作业完成。

部署模式

  • 蓝绿部署:部署到非活动环境、执行健康检查、切换流量、保留旧环境用于回滚。
  • 金丝雀部署:按 5%、10%、25%、50%、100% 分阶段放量,每阶段监控指标,错误率过高时回滚。

日志与监控

  • 使用 jq 生成 JSON 结构化日志,包含时间戳、级别、消息、脚本名与上下文,并提供 info/error/warn 封装。

使用方式

资料中未提供安装命令或调用方式,仅以 Bash 代码片段形式给出各模式,可直接复制到脚本中使用。脚本普遍采用 set -euo pipefail,部分函数依赖 curl、jq、aws、az、parallel 等外部命令。

适用场景

  • 编写跨平台 CI/CD 辅助脚本。
  • 在容器与 Kubernetes 环境中编写可移植的启动与健康检查脚本。
  • 在脚本中安全获取云密钥、上传制品、承担角色。
  • 实现并行任务处理与渐进式部署。

限制

资料未说明支持的平台版本、依赖最低版本、性能指标或收费情况,暂未提供。部分函数(如 deploy_to_environment、switch_traffic、update_traffic_split、get_error_rate、process_file)为示例占位,需使用者自行实现。