全部 !:)
\nI\xe2\x80\x99m 使用具有多应用程序架构的单一存储库。
\n- foo\n - dev\n - alp\n - prd\n- bar\n - dev\n - alp\n - prd\n- argocd\n - dev\n - foo-application (argo cd app, target revision : master, destination cluster : dev, path: foo/dev)\n - bar-application (argo cd app, target revision : master, destination cluster : dev, path: bar/dev)\n - alp\n - foo-application (argo cd app, target revision : master, destination cluster: alp, path: foo/alp)\n - bar-application (argo cd app, target revision : master, destination cluster: alp, path: bar/alp)\n - ...\nRun Code Online (Sandbox Code Playgroud)\n最近我发现合并到master分支也会触发与其他应用程序的同步,尽管目标路径目录没有变化。
因此,每当一个应用程序被修改并合并到主应用程序时,多个应用程序就会变得不同步 -> 正在同步 -> 已同步 。:(
\n在我看来,如果目标路径没有代码变化,即使分支的git sha值发生变化,synced也是维持的。
\n但它不是\xe2\x80\x99t。当目标分支的git sha发生改变时,通过改变缓存key来无条件触发ArgoCD。
\n为了解决这个问题,为每个应用程序创建一个清单存储库似乎很浪费。
\n在寻找解决方案时,我遇到了这个功能。
\n\n然而,根据文档,这似乎与 GitHub Webhook 一起使用时有效。
\n目前我们使用 ArgoCD 每 3 分钟轮询一次存储库。这个注释在这种情况下不起作用吗?
\n小智 0
是的,manifest-generate-paths注释仅适用于 webhook。但是,请看一下:
https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/#selective-sync
如果您将其添加到应用程序的syncPolicy中:
syncOptions:
- ApplyOutOfSyncOnly=true
Run Code Online (Sandbox Code Playgroud)
Argo 仅当资源清单发生更改时才会同步资源
| 归档时间: |
|
| 查看次数: |
4364 次 |
| 最近记录: |