Azure DevOps多仓库场景下如何在构建名称中获取代码仓库分支名
解决方案
你当前使用的$(SourceBranchName)是YAML文件所在仓库的分支变量,CI固定用YAML仓库main分支的场景下,这个值永远为main,自然无法区分业务代码仓库的分支,可按以下步骤修改配置:
- 给业务代码仓库配置资源别名
在流水线YAML的resources段中,给业务Code仓库定义明确的别名,示例如下:
resources: repositories: # 业务代码仓库配置 - repository: CodeRepo # 此处的CodeRepo为自定义别名,可按需修改 type: git name: 你的Azure DevOps项目名称/Code仓库名称 trigger: # 保留原有触发规则即可 branches: include: - main - feature/* - bugfix/*
- 修改构建名称变量
把原来name字段中的$(SourceBranchName)替换为Code仓库对应的资源变量,若需要自动去掉分支的refs/heads/前缀,可直接用以下配置:
name: $(Date:yyyy-MM-dd HHmmss) $[replace(variables['resources.repositories.CodeRepo.sourceBranch'], 'refs/heads/', '')]
注意将变量中的CodeRepo替换为你自己在resources中定义的仓库别名
配置完成后重新运行流水线,触发构建的Code仓库分支名就会自动展示在构建名称中,完全符合你需要的2021-01-01 103015 Feature1格式要求。
内容的提问来源于stack exchange,提问作者StuartvdLee
相关产品推荐
相关产品推荐

