Azure 发布管道 - “触发”分支名称的变量
Posted
技术标签:
【中文标题】Azure 发布管道 - “触发”分支名称的变量【英文标题】:Azure Release Pipeline - Variable for 'Triggered' Branch Name 【发布时间】:2020-04-07 16:48:54 【问题描述】:所以我已经在 master 上工作了一段时间,最近刚刚添加了一个“发布”分支,我将从现在开始工作。
在我的发布管道中,我有一个使用预定义变量设置自定义变量的 PowerShell 脚本。
$branchName = $Env:BUILD_SOURCEBRANCHNAME
$buildNumber = $Env:BUILD_BUILDNUMBER
$release = $branchName + "." + $buildNumber.ToString()
$pipeline.variables.NameVar.value = $release
如果我将代码推送到我的发布分支,此脚本将在我的管道末尾运行,并且变量应该更改为release.xxxx
,但它已更改为master.xxxx
。
构建变量 build.sourcebranchname
没有返回我的发布分支名称,而是返回 master 是否有原因? build.buildnumber
变量返回正确的值。
【问题讨论】:
很高兴看到问题已解决,您可以Accept it as an Answer,这对阅读此主题的其他社区成员可能会有所帮助。 【参考方案1】:尝试去Get sources
看看你是否选择了正确的分支。
我已经测试了你的脚本,它返回了预期的结果:
【讨论】:
谢谢你。看到您更改默认分支的位置实际上使我走上了正确的轨道。我没有更改默认分支(我想保留它作为主分支),而是能够为我的新分支添加一个分支过滤器,从而解决了我的问题。【参考方案2】:所以我发现了我的问题。添加新的发布分支后,我需要编辑构建管道以设置多个分支。基本上是关注微软的this doc。
添加release/*
作为分支过滤器允许构建管道在发布分支上构建,而不仅仅是主分支。从那时起,当我在发布管道中使用构建变量时,它们都返回了正确的值。
【讨论】:
以上是关于Azure 发布管道 - “触发”分支名称的变量的主要内容,如果未能解决你的问题,请参考以下文章
基于用于触发管道 Azure Devops 的分支指定构建分支
在 azure 中的发布管道之间传递变量(触发 azure 管道扩展)