如何在Azure Pipelines YAML版本定义中接收修订

时间:2019-02-18 08:13:03

标签: azure-devops yaml azure-pipelines

我使用Azure Pipelines(Azure DevOps)创建了一个新版本,并且效果很好。

通常,您使用$(Rev:.r)来获取版本中的修订。不幸的是,在构建步骤中似乎没有替换/设置该变量。唯一可以使用它的地方是YAML文档中的name:属性。

现在,我将其设置为名称,然后将其提取到某些PowerShell中,如果可以通过环境变量获取它,则没有必要。

如何在新版本(YAML文档中$(Rev)属性的外部)中获得修订版本(如name:)?

(在Docker内部在内部运行的Build Agents,但这不应影响上述情况)

1 个答案:

答案 0 :(得分:2)

未经解析就无法获得修订号,它不会作为单独的字段存储在某个地方或环境变量中。

$(Rev:.r)部分指示Azure DevOps提出使内部版本号唯一的第一个数字(并在该特定示例中,在其前面加一个点)。

就像您说的那样,唯一的方法是使用PowerShell脚本获取值:

$buildNumber = $Env:BUILD_BUILDNUMBER
$revision= $buildNumber.Substring($buildNumber.LastIndexOf('.') + 1)