0

我有一个关于通过 ArgoCD 在 Github 管道中部署我的应用程序的问题:我clowdhaus/argo-cd-action/@main在我的管道中使用“”操作,当我想通过 Argo CLI 更改我的入口值时,使用以下命令:

argocd app create my-app  --server <something> --auth-token ${{ secrets.ARGO_PR_TOKEN }} --repo <something> --release-name <something> --path helm/my-app --dest-namespace staging --dest-server <something> --values ingress_values.yaml --helm-set ingress.enabled=true --helm-set ingress.hosts\[0\].host=my_values --sync-policy automated --auto-prune --self-heal --upsert

但是中的值ingress.hosts[0].host应该使用转义字符,我使用了它,\所以 Argo 面板中的结果显示如下ingress.hosts\[0\].host,这是不正确的。结果不应该是 with \,转义字符仅在此处用于管道。

我已经使用过单引号双引号,但它们都不起作用。

在此处输入图像描述

我很感激任何帮助。谢谢

4

2 回答 2

0

我是如何解决这个问题的:

--helm-set-string没有使用任何转义字符就使用了,如下所示:

  argocd app create my-app \
  --server SOMETHING \
  --auth-token ${{ secrets.ARGO_PR_TOKEN }} \
  --repo SOMETHING \
  --release-name SOMETHING \
  --path helm/my-app \
  --dest-namespace staging \
  --dest-server SOMETHING \
  --values ingress_values.yaml \
  --helm-set ingress.enabled=true \
  --helm-set-string ingress.hosts[0].host=my_values \
  --sync-policy automated \
  --auto-prune \
  --self-heal \
  --upsert
于 2022-01-20T08:14:47.540 回答
0

Argo CD 很乐意采用像list[0]=something. 只要确保为您使用的任何 shell 适当地转义参数即可。

例如,在 BASH 中,单引号文字值应该可以正常工作。

#!/usr/bin/env bash

argocd app create my-app \
  --server SOMETHING \
  --auth-token ${{ secrets.ARGO_PR_TOKEN }} \
  --repo SOMETHING \
  --release-name SOMETHING \
  --path helm/my-app \
  --dest-namespace staging \
  --dest-server SOMETHING \
  --values ingress_values.yaml \
  --helm-set ingress.enabled=true \
  --helm-set 'ingress.hosts[0].host=my_values' \
  --sync-policy automated \
  --auto-prune \
  --self-heal \
  --upsert
于 2022-01-18T18:43:23.240 回答