问题描述
令我感到困惑的gitops部分是关于将源代码与清单分开的建议,例如argocd对此要说的是:
强烈建议使用其他Git存储库来保存kubernetes清单(与应用程序源代码分开)。有关更多理由,请参见best practices。
在一个典型的项目中,我将使用gitlab设置测试环境,然后使用on_stop
action删除每个PR的环境。但是,如果我将清单文件与源代码分开,则不清楚argocd应该在看什么。
为示例起见,假设我们有两个存储库:
-
foo
托管应用代码 -
bar
托管不同应用的清单
假设:
- 我在
feature-001
分支中创建了一个新分支foo
。 - 每次我们向
feature-001
添加提交时,都会创建一个新的docker图像(foo:$COMMIT_SHA
)。
我将如何创建一个argocd受控的应用程序来监视此分支的更改?
我当然可以使用CLI创建应用程序:
argocd app create "foo-$COMMIT_SHA" --repo https://github.com/gajus/bar.git --path bar -p image=foo:$COMMIT_SHA
但是ArgoCD如何知道要跟踪该feature-001
分支的更改?即从该分支发布新的Docker映像时,如何告诉argocd部署该应用程序的新版本?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)