在 TFS 2015 自动构建中使用分支名称
Use Branch Name in TFS 2015 Automated Build
我的 TFS 存储库具有以下结构:
Project
- Dev
- 1.0.0_Branch1
- 1.1.0_Branch2
- N.0.0_BranchN
这些分支是 TFS 中的实际分支。
我在 TFS 服务器上为该项目设置了自动 CI 构建。我遇到的问题是我需要 TFS 中的构建名称才能使用分支名称。
我已经尝试了这里列出的一些构建定义变量,例如 $(SourceBranchName) 和 $(Build.SourceBranchName) 但所有这些都使用了项目的名称(本项目中的项目例子)。
我希望构建按照 1.0.0_Branch1.1 的方式命名,最后一个数字是修订版。
我想这样做的原因是当我在构建结束时生成 Nuget 包时,可以使用正在构建的分支版本对它们进行版本控制。目前它们正在使用日期进行版本控制,这意味着最高版本只是最近构建的版本,实际上可能并非如此。我不想每次都手动设置版本。
正在构建的所有程序集都已正确版本化以匹配它们所在的分支。
有办法实现吗?
对于构建定义,$(SourceBranchName)
可用于构建编号格式:
示例构建:
环境变量是 BUILD_SOURCEBRANCHNAME
,因此它将在 msbuild 中作为 $(BUILD_SOURCEBRANCHNAME)
可用。
可用变量列表位于:https://www.visualstudio.com/en-us/docs/build/define/variables#predefined-variables
这可能是由您在构建定义的 "Repository" 选项卡下配置的 "Mappings" 设置引起的。当您使用 TFVC 存储库构建时,BUILD_SOURCEBRANCHNAME
变量将填充工作区根服务器路径中的最后一个路径段。所以我想知道您的构建定义中的映射服务器路径是“$/Project”而不是“$/Project/Dev/1.0.0_Branch1”.
TFVC repo branch: The last path segment in the root server path for
the workspace. For example in $/teamproject/main this value is main.
参考这个link了解详情:Predefined Variables。
我的 TFS 存储库具有以下结构:
Project
- Dev
- 1.0.0_Branch1
- 1.1.0_Branch2
- N.0.0_BranchN
这些分支是 TFS 中的实际分支。
我在 TFS 服务器上为该项目设置了自动 CI 构建。我遇到的问题是我需要 TFS 中的构建名称才能使用分支名称。
我已经尝试了这里列出的一些构建定义变量,例如 $(SourceBranchName) 和 $(Build.SourceBranchName) 但所有这些都使用了项目的名称(本项目中的项目例子)。
我希望构建按照 1.0.0_Branch1.1 的方式命名,最后一个数字是修订版。
我想这样做的原因是当我在构建结束时生成 Nuget 包时,可以使用正在构建的分支版本对它们进行版本控制。目前它们正在使用日期进行版本控制,这意味着最高版本只是最近构建的版本,实际上可能并非如此。我不想每次都手动设置版本。
正在构建的所有程序集都已正确版本化以匹配它们所在的分支。
有办法实现吗?
对于构建定义,$(SourceBranchName)
可用于构建编号格式:
环境变量是 BUILD_SOURCEBRANCHNAME
,因此它将在 msbuild 中作为 $(BUILD_SOURCEBRANCHNAME)
可用。
可用变量列表位于:https://www.visualstudio.com/en-us/docs/build/define/variables#predefined-variables
这可能是由您在构建定义的 "Repository" 选项卡下配置的 "Mappings" 设置引起的。当您使用 TFVC 存储库构建时,BUILD_SOURCEBRANCHNAME
变量将填充工作区根服务器路径中的最后一个路径段。所以我想知道您的构建定义中的映射服务器路径是“$/Project”而不是“$/Project/Dev/1.0.0_Branch1”.
TFVC repo branch: The last path segment in the root server path for the workspace. For example in $/teamproject/main this value is main.
参考这个link了解详情:Predefined Variables。