在TeamCity中查找所有依赖于父级配置的构建配置?

3
在尚未回答的问题TeamCity中大型持续集成设置的首选方式是什么之后的几天,我们已经设置了很多快照依赖项。
现在,假设您有配置A、B、C、D和E,它们依赖于配置Z。三个月过去了。
现在假设您想要从配置Z切换到X,可能是因为这是一个配置,您在不同的构建代理上测试了许多不同的设置。而且您想要推出这些更改。并且您不想强制开发人员进行CI停机,只是因为您正在手动复制已经使用配置X成功测试过的配置设置。
那么,要将依赖关系配置从配置Z切换到不同的配置X,并将所有依赖配置切换到此新配置:那么您如何知道仍然依赖于Z的哪些配置?
谢谢 - Stefan
1个回答

1

虽然TeamCity在每个构建基础上具有良好的视图追踪依赖关系,但我不知道UI页面中是否有一个允许您查看依赖给定“父”配置的构建配置列表的页面。

当然,您可以查看每个单独的配置以了解此信息,但在大型部署中可能不可行。

如果您想在单个位置或以编程方式访问此信息,则TeamCity会将其存储在<TEAMCITY-DATA-DIR>\config\<PROJECT-NAME>目录中的project-config.xml文件中。

<project id="project1">
  <build-type id="bt1" name="Parent">
    ...
  </build-type>

  <build-type id="bt2" name="Child 1">
    ...
    <settings>
      <dependencies>
          <depend-on sourceBuildTypeId="bt1">
          ...
          </depend-on>
      </dependencies>
    </settings>
  </build-type>

  <build-type id="bt3" name="Child 2">
    ...
    <settings>
      <dependencies>
          <depend-on sourceBuildTypeId="bt1">
          ...
          </depend-on>
      </dependencies>
    </settings>
  </build-type>
</project>

在上面的例子中,您可以查找任何具有 settings/dependencies/depends-on 节点且 sourceBuildTypeId 匹配您的父配置 idbuild-type。 即使您的依赖跨越多个项目,这种方法仍然有效,因为 TeamCity 安装中的构建类型 id 是唯一的。

所以基本上是通过编程创建一个列表...但是,如果我想切换到不同的父配置,这意味着需要手动在TeamCity中搜索列表中的每个构建配置,然后切换依赖项。听起来很糟糕。或者ID是否可以链接? - Stefan Schubert-Peters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接