我创建了一个适合我需求的TeamCity构建配置,请参阅下面的构建日志:
除了一件事 - 自定义内部版本号之外,它一切都很好用。我的内部版本号格式如下:
请注意,在构建日志中,第1步是设置内部版本号。问题是在更新程序集版本步骤之后会发生这种情况。因此,此版本号不会应用于我的程序集。
但在构建过程中的其他任何地方都使用了正确的版本号。
所以我的问题是,如何在AssemblyInfo Patcher运行之前设置自定义内部版本号?
答案 0 :(得分:5)
使用TeamCity的快照依赖项功能解决。
创建名为Version的构建配置。这有一个PowerShell脚本构建步骤,它创建我想要的构建号。
接下来,我将实际的构建配置依赖于版本构建配置。
然后我在我的实际构建配置中得到这个构建号,如下所示: %dep。[构建配置ID] .system.build.number%
答案 1 :(得分:1)
Teamcity提供构建功能" AssemblyInfo Patcher"这允许在没有补丁的情况下将构建号设置到程序集。 您可以在以下网址找到它:
构建配置设置 - >构建功能 - >单击添加新功能并选择AssemblyInfo修补程序。
您可以指定相同的内部版本号格式" Major.Minor.BuildCounter.TodaysDate" AssemblyInfo Patcher。类似于:%Major%。%Minor%。%build.counter%。%system.build.start.date%
通过添加Major和Minor作为teamcity配置参数。 您可以使用teamcity的预定义%build.counter%参数。
最后今日日期: TeamCity的Groovy Plugin提供构建开始日期/时间属性
system.build.start.date system.build.start.time