部署流水线
自动触发CI/CD流水线并实时监控部署状态,解决发布流程人工介入多、状态不透明、故障响应慢的问题。
适用场景
1
开发提交代码后自动触发构建与部署流水线
2
部署过程中实时监控各阶段状态并推送进度通知
3
部署失败时自动回滚并通知负责人
4
多环境(测试/预发/生产)批量部署与状态汇总
核心Prompt(安装配置用)
你是一个部署流水线Agent,负责自动触发CI/CD流水线并监控部署状态。你的核心职责:1)接收用户提供的代码仓库、分支、环境等参数,调用CI/CD系统API触发流水线;2)轮询或订阅流水线状态,实时反馈构建、测试、部署各阶段进展;3)识别失败节点,输出失败原因与建议;4)根据策略触发回滚或重试。 任务描述:当收到部署请求时,先校验参数完整性(仓库地址、分支、目标环境、流水线ID)。校验通过后调用触发接口,获取run_id。随后每10秒查询一次状态,直到状态为成功、失败或取消。输出格式要求: - 触发阶段:返回流水线ID、run_id、触发时间 - 监控阶段:返回当前阶段、耗时、状态 - 结束阶段:返回最终状态、总耗时、失败日志摘要(如有) 约束条件: 1. 不得在未校验参数的情况下触发流水线; 2. 生产环境部署必须二次确认; 3. 失败时不得自动重试超过2次; 4. 所有操作需记录审计日志; 5. 敏感信息(token)不得出现在输出中。 请严格按上述格式输出,确保信息准确、简洁、可操作。
所需工具 / API对接
需对接:Jenkins/GitLab CI/代码托管平台 Actions API(触发与状态查询)、企业微信/钉钉/飞书机器人(通知)、Kubernetes API(部署状态)、日志系统(ELK/Loki)、密钥管理服务(Vault/KMS)。
安装部署步骤
11. 环境准备:确认服务器可访问CI/CD系统,安装Python3.9+、pip、git,执行 python --version 验证。
22. 安装依赖:pip install requests pyyaml schedule python-dotenv,验证 pip list | grep requests。
33. 配置参数:创建 config.yaml,填入 cicd_url、api_token、default_branch、env_list、notify_webhook,使用 chmod 600 config.yaml 保护权限。
44. 导入Prompt:将 core_prompt 写入 prompt.txt,并在 agent 配置中引用路径 prompt_file: ./prompt.txt。
55. 连接工具API:在 config.yaml 中配置各系统 endpoint 与 token,运行 python test_connection.py 验证连通性。
66. 测试验证:执行 python agent.py --repo demo --branch main --env test,观察是否成功触发并返回状态。
77. 上线部署:使用 systemd 或 supervisor 托管 agent 进程,配置开机自启,执行 systemctl start deploy-agent 并检查日志。
88. 监控告警:接入 Prometheus 监控 agent 心跳,配置失败告警规则,验证告警通道。
配置参数
| 参数名 | 说明 | 默认值 |
|---|---|---|
repo_url |
代码仓库地址 | git@代码托管平台.com:company/demo.git |
branch |
部署分支 | main |
env |
目标环境 | test |
pipeline_id |
流水线ID | deploy-pipeline |
poll_interval |
状态轮询间隔(秒) | 10 |
max_retry |
失败最大重试次数 | 2 |
notify_webhook |
通知机器人Webhook | https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx |
效果示例
输入:部署 demo 仓库 main 分支到 test 环境。
输出:
[触发] 流水线ID: deploy-pipeline, run_id: 12345, 时间: 2025-01-01 10:00:00
[监控] 阶段: 构建, 耗时: 30s, 状态: 成功
[监控] 阶段: 单元测试, 耗时: 45s, 状态: 成功
[监控] 阶段: 部署, 耗时: 20s, 状态: 成功
[结束] 最终状态: 成功, 总耗时: 95s
通知已推送至企业微信。
输出:
[触发] 流水线ID: deploy-pipeline, run_id: 12345, 时间: 2025-01-01 10:00:00
[监控] 阶段: 构建, 耗时: 30s, 状态: 成功
[监控] 阶段: 单元测试, 耗时: 45s, 状态: 成功
[监控] 阶段: 部署, 耗时: 20s, 状态: 成功
[结束] 最终状态: 成功, 总耗时: 95s
通知已推送至企业微信。
常见问题
Q1: 触发流水线失败怎么办?
A1: 检查API token是否过期、网络是否连通、参数是否完整,查看日志中错误码定位。
Q2: 如何支持多环境批量部署?
A2: 在config.yaml中配置env_list,Agent会按顺序依次触发并汇总状态。
Q3: 部署失败会自动回滚吗?
A3: 默认不自动回滚,可在策略中配置rollback_on_failure: true开启。
Q4: 如何保证生产环境安全?
A4: 生产部署需二次确认,且token权限最小化,操作记录审计日志。
Q5: 支持哪些CI/CD系统?
A5: 支持Jenkins、GitLab CI、代码托管平台 Actions,其他系统可通过适配器扩展。
A1: 检查API token是否过期、网络是否连通、参数是否完整,查看日志中错误码定位。
Q2: 如何支持多环境批量部署?
A2: 在config.yaml中配置env_list,Agent会按顺序依次触发并汇总状态。
Q3: 部署失败会自动回滚吗?
A3: 默认不自动回滚,可在策略中配置rollback_on_failure: true开启。
Q4: 如何保证生产环境安全?
A4: 生产部署需二次确认,且token权限最小化,操作记录审计日志。
Q5: 支持哪些CI/CD系统?
A5: 支持Jenkins、GitLab CI、代码托管平台 Actions,其他系统可通过适配器扩展。
企业落地建议
部署方式:建议以容器化方式部署Agent,挂载配置文件与密钥,通过K8s CronJob或常驻服务运行。成本估算:单实例资源约1核2G,云服务器月成本约50-100元;若使用托管CI/CD,无额外硬件成本。注意事项:1)API token需最小权限并定期轮换;2)生产环境务必开启二次确认与审计;3)建议先在小范围试点,验证稳定后再推广;4)监控Agent自身健康状态,避免漏报。需要我们帮你落地吗?可以试试免费AI诊断→
需要我们帮你落地?
专业团队帮你从0到1部署企业AI Agent,含安装配置、定制开发、持续运营