我将 Circle-CI 用于 CI 部分,将 ArgoCD用于 CD,因此我可以将应用程序部署到我的 k8 集群。
现在我有一个 GitHub 存储库,其中包含代码并生成 docker 图像,然后它使用 helm 图表更新另一个 repo,并将新的图像标记注入 values.YAML 文件。现在在第二个 repo 中,我有 2 个单独的目录,其中包含用于暂存和生产的 helm 图表。现在的想法是在生产目录中的文件发生更改时重新部署生产应用程序,并且对于暂存也是如此。
现在,当我在其单独的文件夹“staging/chart”中更新 staging helm 图表时,也将触发生产部署并重新部署应用程序。我将“路径”设置为登台和生产舵图。这是我的 ArgoCD 应用程序配置。我做错了什么?为什么 Argo 不仅要跟踪它应该的目录?
**Production: **
project: default
source:
repoURL: 'https://github.com/company/HELM_CHARTS.git'
path: staging/chart
targetRevision: HEAD
helm:
valueFiles:
- values.yaml
destination:
server: 'https://kubernetes.default.svc'
namespace: production
syncPolicy:
automated: {}
分期:
project: default
source:
repoURL: 'https://github.com/company/HELM_CHARTS.git'
path: production/chart
targetRevision: HEAD
helm:
valueFiles:
- values.yaml
destination:
server: 'https://kubernetes.default.svc'
namespace: production
syncPolicy:
automated: {}
**This is ArgoCD server information:**
{
"Version": "v2.1.5+a8a6fc8",
"BuildDate": "2021-10-20T15:16:40Z",
"GitCommit": "a8a6fc8dda0e26bb1e0b893e270c1128038f5b0f",
"GitTreeState": "clean",
"GoVersion": "go1.16.5",
"Compiler": "gc",
"Platform": "linux/amd64",
"KsonnetVersion": "v0.13.1",
"KustomizeVersion": "v4.2.0 2021-06-30T22:49:26Z",
"HelmVersion": "v3.6.0+g7f2df64",
"KubectlVersion": "v0.21.0",
"JsonnetVersion": "v0.17.0"
}
见附图: 架构图