【问题标题】:Finding all build configurations depending on a parent configuration in TeamCity?根据 TeamCity 中的父配置查找所有构建配置?
【发布时间】:2011-10-24 17:46:38
【问题描述】:

在问题what the preferred way for a big continuous integrations setup in TeamCity might be 之后的几天里,我们一直在设置很多快照依赖项。

现在,图像您有配置 A、B、C、D 和 E,它们取决于配置 Z。三个月过去了。

现在假设您想从配置 Z 切换到 X,可能是因为您使用该配置在不同的构建代理上测试了许多不同的设置。你想推出这些变化。而且您不希望仅仅因为您手动复制配置设置而对开发人员强制执行 CI 停机时间,而您已经使用配置 X 成功测试。

所以要将依赖配置 Z 切换到不同的配置 X 并将所有依赖配置切换到这个新配置:那么你怎么知道哪些配置仍然依赖于 Z?

谢谢 - 斯特凡

【问题讨论】:

    标签: dependencies continuous-integration teamcity dependency-management


    【解决方案1】:

    虽然 TeamCity 可以很好地跟踪每个构建的依赖关系,但我不知道 UI 中有一个页面允许您查看依赖于给定“父”配置的构建配置列表。 您当然可以查看每个单独的配置来找出答案,但这在您的大型部署中可能不可行。

    如果您想在一个地方或以编程方式访问此信息,TeamCity 会将其存储在您的 \config\ 中的 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的任何 build-type > 匹配您的父配置 id。 即使您的依赖项跨越多个项目,这种方法仍然有效,因为构建类型 ID 在 TeamCity 安装中是唯一的。

    【讨论】:

    • 所以基本上以编程方式创建一个列表......不过,如果我想切换到不同的父配置,这意味着手动搜索 TeamCity 列表中的每个构建配置,然后切换依赖。听起来很可怕。还是这些 id 以某种方式可链接?
    猜你喜欢
    • 2016-10-29
    • 1970-01-01
    • 2010-12-18
    • 2014-02-05
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多