我有一个 argocd 存储库,其中包含 Kubernetes 集群的所有配置。现在我想和 PR 一起工作,并且只想在合并之前合并在我们的持续集成系统上测试过的东西。为此,我的想法是创建另一个集群,然后将分支部署到该集群。遗憾的是,argocd 在其 yaml 文件中定义了revision
and targetRevision
——因此,这是在 git 中“硬编码”的。
切换版本的最佳方式是什么,以便我可以“应用”任何功能分支并仍然将其链接到集群?
目标
GIT - Branch master -> prod-Cluster
- Branch dev -> dev-Cluster
- Branch feature.. -> feature-Cluster using kind
ArgoCD 配置
Application (root) -> ApplicationSet (app-of-appset) -> apps/* directory containing kustomization files
应用程序集的示例 argo 配置
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: cluster-addons
spec:
generators:
- git:
repoURL: https://github.com/argoproj-labs/applicationset.git
revision: HEAD <--------- Thats what I want to adjust for testing
directories:
- path: examples/git-generator-directory/cluster-addons/*
template:
metadata:
name: '{{path.basename}}'
spec:
project: default
source:
repoURL: https://github.com/argoproj-labs/applicationset.git
targetRevision: HEAD <--------- Thats what I want to adjust for testing
path: '{{path}}'
destination:
server: https://kubernetes.default.svc
namespace: '{{path.basename}}'