我的 Azure 管道使用我们在
resources
部分中指定的 3 个存储库。 但是,当我从 Azure 网站手动构建管道时,它似乎忽略了我在 Web 界面上选择的分支。 它始终构建所有 3 个存储库的“主”分支。 我希望其中至少有一个选择我指定的分支
Azure 将构建变量 BUILD_SOURCEBRANCHNAME 正确设置为我选择的分支。 但拉取代码时它会被忽略。 我怎样才能选择我想要的分支?.
这是我的资源部分
resources:
repositories:
- repository: Main
type: git
name: Software/Main
- repository: SdkThirdParty
type: git
name: Software/SdkThirdParty
- repository: SdkTestData
type: git
name: Software/SdkTestData
我知道如果我将其硬编码到带有“ref”行的这些
repository
指令中,我可以让它选择一个分支。 所以,如果我想要分支“my-test-branch”我可以这样做
- repository: Main
type: git
name: Software/Main
ref: 'refs/heads/my-test-branch'
但我必须对其进行硬编码。 我无法在资源部分使用构建变量。 他们在那里不受支持
那么我怎样才能可变地选择拉动哪个分支呢?
根据存储库资源定义中的模板表达式,在 YAML 管道中定义
ref
资源的 repository
属性时支持模板表达式。
示例:
resources:
repositories:
- repository: library
type: git
name: FabrikamLibrary
ref: ${{ variables['Build.SourceBranch'] }}
注:
Build.SourceBranch
和 Build.SourceBranchName
在模板中可用,如预定义变量中所述。