TFS YAML 管道中的分支名称变量

Branch name variable in TFS YAML pipeline

提问人:Yanqing Cheng 提问时间:1/14/2023 最后编辑:Daniel MannYanqing Cheng 更新时间:5/27/2023 访问量:279

问:

我正在尝试制作一个 TFS 发布 YAML 管道,该管道从分支的特定构建中获取资源。

对于资源部分:

resources:
  pipelines:
  - pipeline: pipelineA
    source: SourceA
    project: ProjectA
  - pipeline: pipelineB
    source: SourceB
    project: projectB

这工作正常,但它将始终从 pipelineA 和 pipelineB 发布最新版本,无论它是哪个分支。 然后我试图让它在特定的分支上发布,我试过:

resources:
  pipelines:
  - pipeline: pipelineA
    source: SourceA
    project: ProjectA
    branch: task/123_task_name
  - pipeline: pipelineB
    source: SourceB
    project: projectB

只要有分支“task/123_task_name”的构建,这就可以正常工作。

现在我试图让它在我选择的分支上发布,我尝试了:

resources:
  pipelines:
  - pipeline: pipelineA
    source: SourceA
    project: ProjectA
    branch: $(Build.SourceBranchName) OR $(Build.SourceBranch) OR task/$(Build.SourceBranchName)
  - pipeline: pipelineB
    source: SourceB
    project: projectB

它们都不起作用,它们都返回错误. 这个分支变量的正确格式应该是什么,谢谢。The pipeline is not valid. Unable to resolve latest version for pipeline pipelineA. This could be due to inaccessible pipeline or no version is available

tfs azure-pipelines tfsbuild

评论


答:

0赞 Shayki Abramczyk 1/15/2023 #1

这是因为如果使用 TFS,则无法将此值放在变量中。

此功能最近仅添加到 Azure DevOps Services:

https://learn.microsoft.com/en-us/azure/devops/release-notes/2022/pipelines/sprint-212-update

resources:
  repositories:
    - repository: templates
      type: git
      name: Templates
      ref: ${{ variables['Build.SourceBranchName'] }}