TeamCity 自定义内部版本号 - AssemblyInfo 修补程序
TeamCity Custom Build Number - AssemblyInfo patcher
我已经创建了一个适合我需要的 TeamCity 构建配置,请参阅下面的构建日志:
除一件事外一切正常 - 自定义版本号。我的内部版本号格式如下:
- Major.Minor.BuildCounter.TodaysDate,即 2.0.59.20160224.
- 我使用 PowerShell 脚本实现了这一点。
在构建日志中注意,第 1 步 是设置构建号。问题是这发生在 更新程序集版本 步骤之后。所以这个版本号没有应用到我的程序集。
但是构建过程中的其他地方都使用了正确的版本号。
所以我的问题是,如何在 AssemblyInfo Patcher 运行之前设置自定义内部版本号?
Teamcity 提供构建功能 "AssemblyInfo Patcher",允许在没有补丁的情况下为程序集设置构建号。
您可以在 :
下找到它
构建配置设置 -> 构建功能 -> 单击添加新功能和 select AssemblyInfo 修补程序。
您可以指定相同的内部版本号格式 "Major.Minor.BuildCounter.TodaysDate" AssemblyInfo Patcher。类似于:%Major%.%Minor%.%build.counter%.%system.build.start.date%
通过添加 Major 和 Minor 作为 teamcity 配置参数。
您可以使用 teamcity 的预定义 %build.counter% 参数。
最后是今天的日期:
TeamCity 的 Groovy Plugin 提供构建开始 date/time 属性
system.build.start.date
system.build.start.time
使用 TeamCity 的快照依赖特性解决。
创建了一个名为 Version 的构建配置。这有一个 powershell 脚本构建步骤,它创建了我想要的内部版本号。
接下来,我根据版本构建配置进行实际构建配置。
然后我在我的实际构建配置中得到这个构建号,就像这样:
%dep.[构建配置 ID].system.build.number%
我已经创建了一个适合我需要的 TeamCity 构建配置,请参阅下面的构建日志:
除一件事外一切正常 - 自定义版本号。我的内部版本号格式如下:
- Major.Minor.BuildCounter.TodaysDate,即 2.0.59.20160224.
- 我使用 PowerShell 脚本实现了这一点。
在构建日志中注意,第 1 步 是设置构建号。问题是这发生在 更新程序集版本 步骤之后。所以这个版本号没有应用到我的程序集。
但是构建过程中的其他地方都使用了正确的版本号。
所以我的问题是,如何在 AssemblyInfo Patcher 运行之前设置自定义内部版本号?
Teamcity 提供构建功能 "AssemblyInfo Patcher",允许在没有补丁的情况下为程序集设置构建号。 您可以在 :
下找到它构建配置设置 -> 构建功能 -> 单击添加新功能和 select AssemblyInfo 修补程序。
您可以指定相同的内部版本号格式 "Major.Minor.BuildCounter.TodaysDate" AssemblyInfo Patcher。类似于:%Major%.%Minor%.%build.counter%.%system.build.start.date%
通过添加 Major 和 Minor 作为 teamcity 配置参数。 您可以使用 teamcity 的预定义 %build.counter% 参数。
最后是今天的日期: TeamCity 的 Groovy Plugin 提供构建开始 date/time 属性
system.build.start.date system.build.start.time
使用 TeamCity 的快照依赖特性解决。
创建了一个名为 Version 的构建配置。这有一个 powershell 脚本构建步骤,它创建了我想要的内部版本号。
接下来,我根据版本构建配置进行实际构建配置。
然后我在我的实际构建配置中得到这个构建号,就像这样: %dep.[构建配置 ID].system.build.number%