【问题标题】:How to access an artifact's BUILDNUMBER is Visual Studio Team Services Release management如何访问工件的 BUILDNUMBER 是 Visual Studio Team Services 发布管理
【发布时间】:2017-02-02 12:36:31
【问题描述】:

我需要在 Visual Studio Team Services 发布管理中访问工件的内部版本号,以便我可以将值发送到任务。

我的工件名称中有一个空格:“生产分支”

我一直在阅读以下文档。

https://www.visualstudio.com/en-us/docs/release/author-release-definition/understanding-artifacts#variables

文档说明可以这样访问:

RELEASE_ARTIFACTS_[源别名]_[变量名]

例如

RELEASE_ARTIFACTS_Production Branch_BUILDNUMBER

继续说,如果用于将参数传递给任务,请将下划线替换为句点:

RELEASE.ARTIFACTS.Production Branch.BUILDNUMBER

但是这会导致以下错误:

2017-02-02T12:15:49.6988066Z ##[错误]术语“Release.Artifacts.Production_Branch.BUILDNUMBER”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

这可能是由于工件名称包含空格字符,我不确定如何处理。

【问题讨论】:

    标签: azure-devops ms-release-management


    【解决方案1】:

    如果您想在 PowerShell 脚本中获取它,请改用以下代码:

    $env:RELEASE_ARTIFACTS_[alias]_BUILDNUMBER
    

    如果您想将其作为变量传递,请改用以下代码:

    $(RELEASE.ARTIFACTS.[alias].BUILDNUMBER)
    

    您可以在下载工件步骤日志中获取详细变量:

    【讨论】:

      【解决方案2】:

      从PowerShell访问变量时,需要用“_”代替名称中的空格,例如:

      Write-Host $env:RELEASE_ARTIFACTS_Production_Branch_BUILDNUMBER
      

      但是如果要在构建任务中使用变量,不要改成“_”,继续使用空格即可。例如:

      $(RELEASE.ARTIFACTS.Production Branch.BUILDNUMBER)
      

      【讨论】:

        【解决方案3】:

        您似乎正试图在 PowerShell 中将其作为环境变量进行访问。在 PowerShell 中,访问环境变量的适当方法是 $env:RELEASE.ARTIFACTS.Production_Branch.BUILDNUMBER。如果不是这样,您可以使用命令 gci Env: 列出所有环境变量及其值

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-04-12
          • 1970-01-01
          • 2018-06-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多