我在团队城中有一个工作A和工作B,工作B是工作A(连续构建和部署工作)的依赖关系。我在构建触发期间在两个作业中使用/选择参数channel,environment和branch。因此,当我触发Job A的构建时,我选择了这些参数,但这些值未在作业B中被选取。
请问有人如何将这些参数传递给依赖作业。
答案 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触发构建。这对我的用例来说不是问题。