Azure Pipelines:如何获取模板仓库的分支信息?
获取Azure Pipelines模板仓库的分支及版本信息
要获取模板仓库的分支、提交ID等信息,需要先在流水线YAML中显式声明模板仓库为资源,再通过专属变量调用对应信息,具体步骤如下:
1. 声明模板仓库资源
在流水线YAML顶部添加模板仓库的资源定义,示例:
resources: repositories: - repository: templateRepo # 自定义仓库别名,后续变量会用到这个名称 type: git name: 你的项目名称/模板仓库名称 ref: main # 这里可以留空,由UI设置分支覆盖
2. 在脚本中获取模板仓库信息
可以通过两种方式获取变量:
方式一:使用管道表达式直接引用
# 打印模板仓库的关键信息 Write-Host "模板仓库名称: $(resources.repositories.templateRepo.name)" Write-Host "模板使用分支: $(resources.repositories.templateRepo.ref)" Write-Host "模板提交ID: $(resources.repositories.templateRepo.version)"
方式二:使用环境变量
Azure Pipelines会将资源变量转换为环境变量,命名规则为RESOURCES_REPOSITORIES_<别名大写>_<属性>,示例:
# 打印模板仓库的关键信息 Write-Host "模板仓库名称: $($env:RESOURCES_REPOSITORIES_TEMPLATEREPO_NAME)" Write-Host "模板使用分支: $($env:RESOURCES_REPOSITORIES_TEMPLATEREPO_REF)" Write-Host "模板提交ID: $($env:RESOURCES_REPOSITORIES_TEMPLATEREPO_VERSION)"
注意事项
- 若通过DevOps UI设置模板仓库的分支,UI配置会自动覆盖YAML中
ref字段的内容,变量返回的是实际使用的分支值。 - 仓库别名(示例中的
templateRepo)需与YAML声明的保持一致,别名中的小写字母会被转换为大写,空格或特殊字符会被替换为下划线。
内容的提问来源于stack exchange,提问作者user30080501
相关产品推荐
相关产品推荐

