代码之家  ›  专栏  ›  技术社区  ›  Arsham Arya

如何在ArgoCD中使用Gitlab CI变量

  •  0
  • Arsham Arya  · 技术社区  · 2 年前

    到目前为止,我有一个项目正在Gitlab管道上使用Helm部署在Kubernetes上,

    在helm值文件中,有一个 deployment.containers[0].serviceNameTag 它被设置为 main 默认情况下,但有时,我会使用进行更改 --set 在部署时在我的管道中,并将其设置为 ${CI_COMMIT_REF_SLUG} 可在GitLab上获得。

    现在我改为使用ArgoCD,但我不知道如何访问它 ${CI_COMMIT_REF_SLUG} 在我的Gitlab管道上可用,我如何访问该值和类似的值?

    0 回复  |  直到 2 年前
        1
  •  1
  •   HiroCereal    2 年前

    免责声明 :GitOps要求您改变处理问题的方式。ArgoCD不是传统CD管道的1:1替代品,问题的根本原因是您的部署策略不是为GitOps设计的。您需要重新思考部署项目的方式。

    也就是说,实现这一目标的一种方法是在打包要部署的软件的管道中设置一个额外的步骤。这样,您就知道提交到哪个软件,您的部署参考。

    使用yq的示例:

    yq -i 'deployment.containers[0].serviceNameTag = strenv(CI_COMMIT_REF_SLUG)' values.yaml