如何配置ArgoCD Image Updater推送时添加ci.skip避免GitLab流水线循环?
解决ArgoCD Image Updater推送GitLab时的流水线循环问题
完全可以通过配置ArgoCD Image Updater实现推送时携带ci.skip选项,避免触发流水线循环,具体配置方式分两种:
全局配置(所有项目生效)
修改ArgoCD Image Updater的ConfigMap,添加Git推送选项:
- 编辑ConfigMap:
kubectl edit configmap argocd-image-updater-config -n argocd - 在
data块中新增配置项:data: # 保留其他已有配置... git.push-options: "ci.skip" - 保存后重启ArgoCD Image Updater Pod使配置生效:
kubectl rollout restart deployment argocd-image-updater -n argocd
项目级配置(仅指定应用生效)
如果只想让特定应用生效,给ArgoCD应用添加注解:
- 使用kubectl patch命令添加注解:
kubectl patch app <你的应用名称> -n argocd -p '{"metadata":{"annotations":{"argocd-image-updater.argoproj.io/git.push-options":"ci.skip"}}}' --type merge - 或者直接在ArgoCD应用的YAML定义中添加注解:
metadata: annotations: argocd-image-updater.argoproj.io/git.push-options: "ci.skip"
配置完成后,ArgoCD Image Updater推送镜像标签变更到GitLab时,会自动使用git push -o ci.skip命令,GitLab将跳过流水线触发,彻底解决循环问题。
内容的提问来源于stack exchange,提问作者Alisson
相关产品推荐
相关产品推荐

