【发布时间】:2023-03-23 05:00:01
【问题描述】:
我正在尝试从 gitlab CI / CD 管道运行命令。该命令本身将 json 作为参数之一。 json 是使用自定义 CI 变量构建的。它适用于以下硬编码版本。
my_command --args '{ "version": "v.0.0.2"}'
但是当 VAR="v.0.0.2"
以下似乎都不起作用
my_command --args '{ "version": $VAR}'
my_command --args '{ "version": \"$VAR\"}'
my_command --args '{ "version": \"{$VAR}\"}'
my_command --args '{ "version": "${VAR}"}'
my_command --args '{ "version": \" ${VAR} \" }'
my_command --args '{ "version": \" "${VAR}" \" }'
就上下文而言,这是一个使用它的小型 CI 管道。 VAR 是 CI 自定义变量。 阶段: - 测试
run_test:
image: custom_image
stage: test
script:
- |
my_command --args '{ "version": "v.0.0.2"}'
能否请您帮助如何正确引用它?网上有 YAML 示例中的 JSON,但没有一个涉及使用变量。
【问题讨论】:
-
您能否提供更多有关您的 gitlab ci 配置的外观以及此 sn-p 放置位置的背景信息?我认为问题来自您在 json 周围使用的单引号。如果您导出 VAR 然后使用其中一个命令,这些也不会在本地工作...
-
这是正确的,最终用双引号替换它并工作。我认为单引号和双引号在这种情况下大部分是可以互换的(只要我们正确转义)。但显然他们不是
标签: continuous-integration yaml gitlab-ci