如何在Azure DevOps Pipeline中通过Bash列出所有构建源分支?
实现方法
在你的Bash任务中,可借助Azure DevOps的预定义变量获取每个资源仓库的源分支信息,修改后的脚本如下:
steps: - task: Bash@3 inputs: targetType: 'inline' script: | # 提取并打印repo_a的源分支 REPO_A_BRANCH="${resources.repositories.repo_a.ref#refs/heads/}" echo "repo_a 构建源分支: $REPO_A_BRANCH" # 提取并打印repo_b的源分支 REPO_BRANCH="${resources.repositories.repo_b.ref#refs/heads/}" echo "repo_b 构建源分支: $REPO_BRANCH"
说明
resources.repositories.<仓库别名>.ref是Azure DevOps预定义变量,返回对应仓库在流水线中使用的分支引用(格式为refs/heads/<分支名>)- 通过
${变量名#前缀}的字符串截取方式,可去掉refs/heads/前缀,直接得到分支名称 - 若流水线由某个仓库的分支触发,该仓库的
ref会自动匹配触发分支;其他仓库默认拉取其trigger配置中匹配的分支(也可在资源定义里指定ref固定分支)
内容的提问来源于stack exchange,提问作者vinilka8
相关产品推荐
相关产品推荐

