我已经使用 Helm chart here 安装了 ArgoCD v2.6.5,版本
5.27.0
.
我们的团队使用
feature/
分支进行独立开发工作,然后合并到develop
,然后合并到main
。这大致遵循 git-flow。
在开发 Helm 图表时,如果我们可以使用 ArgoCD 持续监控我们的 git 存储库的所有功能分支,并将它们部署到单独的命名空间,那将非常有用。
理想情况下,我希望这一切以自动方式发生,仅由 ArgoCD 触发。
开发人员工作流程看起来像这样:
feature/*
分支被推送到origin
时,一个新的Application
被创建,它跟踪特性分支,并根据特性分支名称被部署到一个新的命名空间。feature/*
分支关闭时,Application
应该被删除。我研究了
ApplicationSets
,更具体地说是Git生成器和SCM Provider生成器。
据我所知,两者都不符合要求:
revision
,但没有基于修订版的分支过滤或模板化能力automatically discover[s] repositories within an organization
,太高级了。它确实有 allBranches
和 branchMatch
但它们在 SCM 提供商的组织的 all 存储库上运行,并且也仅限于那些特定的 SCM 提供商。是否可以扫描单个 git 存储库,仅获取
feature/*
分支,并为每个分支创建 Applications
(分支关闭后删除)?最好使用自动 ArgoCD 同步,例如 ApplicationSet
生成器。