假设我有三个构建配置
QA取决于构建和运行测试。生产取决于质量保证。
正常的工作流程如下。
这很有效。但是,我们假设在步骤3和5之间的某个时间进行了更改。因此,现在我有1个待更改的QA,有2个待处理生产(其中1个由QA批准)。
如果我单击TeamCity中的运行按钮,它将运行QA Build的挂起更改以及生产构建的两个更改。
如果我点击运行按钮上的“...”,我可以点击“更改”并选择要包含在此版本中的特定修订。但是,这并没有告诉我目前QA中的哪个版本。所以现在我必须检查QA批准了哪个版本,并确保选择正确的版本。
是否有类似Artifact Dependencies的工作方式?在那我可以具体“最后完成”或“最后固定”。这将确保构建中不包含未经批准的更改。
答案 0 :(得分:4)
在此特定情况下,您应该将snapshot dependency从 2 定义为 1 ,并从 3 定义为 2 。当QA愿意测试由 1 制作的工件时,他们可以转到 1 的"Build Chains"标签(如@neverov所提到的那样), 2 或 3 并从那里手动运行 2 和 3 。这确保了在所有链式步骤中使用相同的更改。
您还可以在这些配置之间定义artifact dependency(从 2 到 1 ,从 3 到 1 < / strong>)以便将 1 构建的二进制文件传递给 2 和 3 ,而无需重新创建它们。