标题可能有点模糊,但我要做的是在TeamCity中构建一个SOA应用程序。
基本上我有一个名为Continuous Build
的项目。在该项目中有6个构建配置,每个服务一个。然后,我有另一个名为“Alpha”的项目,以及一个名为“Beta”的第三个项目。
现在我知道我可以使用Chained builds来共享内部版本号,但是我不能用这种方法做的是在“连续”,“Alpha”和“Beta”中建立数字的增量,同时在每个构建配置中保持统一的数字。
这是希望一个例子来解释我正在尝试做的事情。
- Continuous Build (project)
- SVC 1 (build number 1.2.34)
- SVC 2 (build number 1.2.34)
- SVC 3 (build number 1.2.34)
- SVC 4 (build number 1.2.34)
- SVC 5 (build number 1.2.34)
- SVC 6 (build number 1.2.34)
- Alpha Build (project)
- SVC 1 (build number 1.2.30)
- SVC 2 (build number 1.2.30)
- SVC 3 (build number 1.2.30)
- SVC 4 (build number 1.2.30)
- SVC 5 (build number 1.2.30)
- SVC 6 (build number 1.2.30)
- Beta Build (project)
- SVC 1 (build number 1.1.0)
- SVC 2 (build number 1.1.0)
- SVC 3 (build number 1.1.0)
- SVC 4 (build number 1.1.0)
- SVC 5 (build number 1.1.0)
- SVC 6 (build number 1.1.0)
无论哪个项目选择下一个版本,下一个版本都将增加到1.2.35
。
我目前正在使用AutoIncrementer,但后来我最终得到以下内容(这并不理想)
- Continuous Build (project)
- SVC 1 (build number 1.2.34)
- SVC 2 (build number 1.2.35)
- SVC 3 (build number 1.2.36)
- SVC 4 (build number 1.2.37)
- SVC 5 (build number 1.2.38)
- SVC 6 (build number 1.2.39)
是否有任何工作可以实现我正在寻找的东西?
这是我当前配置的一个示例。
答案 0 :(得分:1)
以下是我要尝试的内容:
BuildNumberGenerator
,那么您将在内部版本号格式字段中使用%dep.BuildNumberGenerator.system.build.number%
。编辑:刚刚在问题中看到了您的声明,您知道如何进行链式构建以共享内部版本号。上面的步骤2和3就是这样。
另外,我没有看到使用此技术的AutoIncrementer插件的原因。
我不知道它多次递增。需要尝试一下,看看会发生什么。您可以使用Finish Build Trigger启动所有其他构建,而不是让它们成为依赖项。因此,您将启动构建根(可用作构建号生成器),并且Finish Build Triggers将启动所有其他构建,这些构建将root作为快照依赖项。