我们有一个简单的应用程序和 2 个集群:由 argocd 和 helm 管理的测试和生产。应用程序源和清单位于一个存储库中。发布过程非常简单:
- 将应用程序部署(同步)到测试集群
- 然后使用附加值文件将应用程序部署到生产集群
根据 argocd 文档,我创建了一个application.yaml
文件:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: myapp
namespace: argocd
spec:
project: default
source:
repoURL: 'my_repo'
path: helm
targetRevision: main
helm:
valueFiles: [ "testing-values.yaml" ] # the additional values file for testing environment
destination:
server: https://kubernetes.default.svc
namespace: default
当我同步测试集群时效果很好
argocd login ${TESTING_CLUSTER}
argocd app sync --prune myapp
但是对于生产集群,我需要指定valueFiles: [ "production-values.yaml" ]
和更改targetRevision: production
. 最好的方法是什么?我可以创建一个额外的application-poduction.yaml
代表产品并为 acrgocd-cli 指定它吗?