在teamcity上传递配置变量

时间:2016-04-21 15:25:38

标签: continuous-integration teamcity continuous-deployment

我在团队城中有一个工作A和工作B,工作B是工作A(连续构建和部署工作)的依赖关系。我在构建触发期间在两个作业中使用/选择参数channel,environment和branch。因此,当我触发Job A的构建时,我选择了这些参数,但这些值未在作业B中被选取。

请问有人如何将这些参数传递给依赖作业。

2 个答案:

答案 0 :(得分:1)

您应该使用dep.<btID>.<property name>格式从依赖版本中获取属性(有关详细信息,请参阅Dependencies Properties)。

因此,如果作业A取决于作业B而作业B具有标识jobB,则可以使用%dep.jobB.paramaterName%引用从作业B获取parameterName参数。

<强>更新

自TeamCity 9.0以来,可以在依赖关系构建中重新定义参数。您应该使用here

所述的reverse.dep.<btID>.<property name>格式

例如:如果作业A具有名为reverse.dep.jobB.param的参数(定义为构建配置参数或在自定义构建对话框中),则作业B可以将其用作名为{{1的参数}}

答案 1 :(得分:0)

我使用初始化作业(我们称之为作业C),这成为其他构建的依赖项。除了为下游构建设置公共参数之外,它没有做太多工作。作业B和作业A除了作业A对作业B的依赖性之外,还具有作业C作为依赖关系。这还允许您通过若干不同的下游构建配置级联相同的分支,并将作业A和作业B保持在同一构建中如果您愿意,可以使用%(使用%dep.x.build.number%作为cyberskunk描述)。

缺点是,如果您想要任何自定义参数,您必须从Job C触发构建。这对我的用例来说不是问题。