【发布时间】:2018-01-31 09:05:21
【问题描述】:
我们使用 VSTS 来管理我们的存储库并作为构建管理器。 我们有一个包含多个程序集的解决方案,其中一个程序集被打包为 NuGet 包以供其他项目引用。
我们有 2 个构建定义。一个定义用于创建可部署包和 NuGet 包的整个解决方案,一个定义用于仅创建 NuGet 包。
版本控制:
- 版本号类似于 {Major}.{Minor}.{Build}.{Revision}
- 每次构建解决方案定义时,都应递增构建
- 每次构建 NuGet 定义时,都应增加修订版
例如:
- 从 1.0.5(.0) 开始
- 构建 NuGet => 1.0.5.1
- 构建解决方案 => 1.0.6(.0)
- 构建解决方案 => 1.0.7(.0)
- 构建 NuGet => 1.0.7.1
- 构建 NuGet => 1.0.7.2
- 等
为此,我们在构建定义中使用了 $(rev:.r) 变量,该变量在每次构建时递增。 但是,在 NuGet 定义中,我们不知道解决方案定义中的最新内部版本号。
目前我们正在使用一个变量来设置它,但正如您可以想象的那样,这是不可取的。 问题是,我们能否以某种方式将 NuGet 定义链接到解决方案定义以提取内部版本号?
【问题讨论】:
-
你让这件事变得比它需要的困难得多。我看不出将您的 nuget 版本链接到您的解决方案版本没有任何好处,这将是一个无法正确管理的混乱。我会在你的 nuget 包和解决方案中使用 GitVersion 并完成它!
标签: visual-studio azure-devops build-definition