You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins实现ACR镜像触发K8部署及部署后测试的方案咨询

可行方案汇总

方案1:Jenkins直接触发部署(完全匹配你的需求)

  • 触发规则配置:两种触发方式可以二选一或者同时启用:
    1. 事件触发:在Azure ACR中配置webhook,当指定仓库有新镜像推送时,直接调用Jenkins流水线的触发端点,实现新镜像推送即部署的效果
    2. 定时触发:在Jenkins流水线配置中添加cron触发规则,例如H */4 * * *代表每4小时轮询一次ACR的镜像版本
  • 部署执行逻辑:在Jenkins agent中预先安装az、kubectl工具,流水线执行时先通过az acr login登录ACR,拉取目标镜像的最新摘要,和上一次部署的缓存摘要做对比,版本一致则直接终止流水线,版本更新则修改K8s部署清单的镜像地址,执行kubectl apply命令完成部署,再通过kubectl rollout status deployment/<部署名>等待部署完全就绪
  • 后置测试与回滚:部署就绪后直接在流水线中插入测试步骤,运行你的自动化UI测试用例,测试通过则更新本地缓存的镜像摘要标记部署成功,测试失败则自动执行kubectl rollout undo deployment/<部署名>回滚到上一个稳定版本,同时推送失败告警

方案2:替代工具方案(无需强依赖Jenkins也可实现需求)

  • Argo CD + PostSync钩子:Argo CD原生支持ACR镜像更新自动同步能力,你可以将自动化UI测试定义为PostSync阶段的钩子任务,镜像同步到集群完成后自动运行测试Pod,测试通过则标记同步成功,测试失败自动触发回滚,整个流程无需额外配置调度逻辑
  • Flux V2 + 通知联动:如果不想替换现有Flux V2的GitOps流程,可以在Flux完成部署后通过通知功能触发Jenkins的测试任务,测试通过则标记部署有效,测试失败则Jenkins直接推送回滚配置到Git仓库,由Flux执行回滚操作

内容的提问来源于stack exchange,提问作者lp_nave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:06:01