gpt4 book ai didi

bash - 从 YAML 模板更新变量的值

转载 作者:行者123 更新时间:2023-12-03 03:47:31 25 4
gpt4 key购买 nike

我的根目录中有一个名为 versions.yml 的 yaml 文件,如下所示:

variables:
dev: 0.0.0

我从 Azure DevOps 管道调用此函数,首先使用当前值,然后使用新版本更新它。

azure-pipeline.yml

variables:
- name: "Component"
value: "azure-pipelines.yml"
- template: versions.yml
...
- bash: |
"##vso[task.setvariable variable=${{ variables.dev }}]0.0.1"

我试图关注 this然而,它实际上从未更新该值。如果我运行 echo ${{ Variables.dev }} 它会返回 0.0.0 的原始值。是否可以使用此语法更新模板变量,或者是否有其他方法?

最佳答案

根据您的样本,您需要注意以下几点:

  1. ${{ Variables.dev }} 是模板表达式。所以它会直接使用模板中的值。所以当你使用bash脚本更新变量时,你需要使用$(dev)来获取值。

  2. ${{ Variables.dev }} 的值为 0.0.0,而不是变量名 dev。

因此您可以使用它在 bash 任务中设置变量名称。

您可以在bash任务中直接将变量名称设置为dev。

例如:echo "##vso[task.setvariable variable=dev;]0.0.1

请引用我的示例:

variables:
- template: variable.yml # Template reference

steps:
- script: echo ${{ variables.dev }}
- task: Bash@3
inputs:
targetType: 'inline'
script: 'echo "##vso[task.setvariable variable=dev;]0.0.1"'

- script: echo $(dev)

结果:

enter image description here

关于bash - 从 YAML 模板更新变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68566038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com