我正在寻找一种在多个构建配置之间共享构建号的方法。目标是拥有某种类型的全局计数器,所有构建配置都会增加它并在其自己的构建号中使用它。
答案 0 :(得分:48)
如果构建配置A之一对构建配置B具有快照或工件依赖性,那么您可以借助依赖项参数从A中的B获取构建号:
%dep.<B id>.build.number%
其中&lt; B id&gt;是构建配置B的id(请参阅URL中的buildTypeId参数)。
答案 1 :(得分:26)
此解决方案适用于我:
运行项目构建。首先,它应该启动“GenerateBuildNumber”项目,然后启动生成数字的项目。 对于要使用唯一生成编号的每个项目执行步骤2-4。 利润!
答案 2 :(得分:11)
我相信AutoIncrementer插件应该可以解决问题。它允许您在配置之间共享构建号。 http://confluence.jetbrains.com/display/TW/Autoincrementer
答案 3 :(得分:4)
您可以按照以下步骤使一个Team City项目使用另一个项目的内部版本号:
打开要导入内部版本号的配置的TeamCity项目配置属性。
转到“依赖关系”部分。
添加“工件依赖关系”,并选择要从内部项目中获取内部版本号的项目配置。
在“从中获取工件”字段中选择“使用指定的内部版本号构建”
在“内部版本号”输入框旁边有一个按钮,您可以单击该按钮以选择获取内部版本号的位置。在此列表中,您应该看到类似“dep.bt2.build.number”的选项(您的配置可能不是2)。
答案 4 :(得分:3)
AutoIncrementer很好,但是现在有一个新的插件试图做一些用户说他们无法用AutoIncrementer做的事情:
http://java.nicholaswilliams.net/TeamCityPlugins/introduction#SharedBuildNumber
当您将其添加到TeamCity时,它有一个UI,并且还可以处理您可能想要使用的格式的日期。
答案 5 :(得分:0)
到目前为止,最简单的方法是使用公开的变量:
%dep.<build configuration id here>.build.number%
您可以使用该变量使用依赖项中的任何参数。如果您开始在旁边带有方框的字段中输入%
,则可以选择一个变量,它将在其中弹出带有构建配置ID的
答案 6 :(得分:0)