【发布时间】:2019-06-16 06:31:15
【问题描述】:
我正在尝试为 Azure DevOps YAML 管道中的 NuGet 包生成名称。
上下文是在每个自动构建上使用包名称、分支名称、日期和递增的修订号创建包。
packageName-branchName-year-month-day-revision
这样,当一个新的特性分支被创建时,它会生成一个独特的包,可用于在需要它的项目中进行测试。
我正在努力根据日期或修订号等环境变量在 YAML 文件中设置一个变量。
使用##vso 命令,我可以将'myVariable' 设置为hello 并打印出来。
- script: |
echo '##vso[task.setvariable variable=myVariable]hello'
- script: |
echo my variable is $(myVariable)
当我尝试按如下方式从 PowerShell 设置变量时,我收到以下错误“#$dateStr”不被识别为内部或外部命令”。
# Create a variable
- script: |
#$dateStr = (Get-Date).ToString('yyyy-MM-dd')
echo '##vso[task.setvariable variable=myVariable]#$dateStr'
# Print the variable
- script: |
echo my variable is $(myVariable)
当我尝试在 YAML 文件的变量部分中设置变量时。
variables:
solution: '**/*.sln'
foo: $(Date:yyyyMMdd)
- script: |
echo my variable is $(foo)
变量没有被插值,它输出为。
'我的变量是 $(Date:yyyyMMdd)'
如何根据 $(rev) 和 $(Date) 等环境变量创建变量?
【问题讨论】:
标签: azure-devops yaml azure-pipelines devops