gpt4 book ai didi

continuous-integration - TeamCity 能否将一个构建的输出提交到另一个 svn 存储库,从而开始另一个构建?

转载 作者:行者123 更新时间:2023-12-04 08:42:59 25 4
gpt4 key购买 nike

到目前为止,我只将 TeamCity 用作持续构建服务器。没有真正的整合。现在,我需要将一个共享项目的输出复制到另外两个依赖项目,并依次启动它们的自动构建。即ProjectA和ProjectB都依赖于ProjectC。当在各自的存储库中发生任何提交时,这三个当前都由 TC 构建。我们希望的是将 ProjectC 的输出复制并提交给 ProjectA 和 ProjectB。这样的提交将依次启动两个依赖项目的构建过程。在谈论持续集成时,这似乎是一个常见的场景。不是吗?

澄清一下,我们使用 TeamCity v.4.5.5(内部版本 9103)、SVN 和 nAnt 作为我们的构建运行器。

编辑:当我说要提交到另一个存储库时,我说错了。它们实际上都位于同一个物理存储库中,只是处于层次结构的不同级别。

最佳答案

我不知道 TeamCity 是否支持这个,但这应该很容易自己编写脚本——作为在 ProjectC 中构建的最后一步添加一个脚本来检查 ProjectC 目录(不是整个存储库,只是一个你保存的目录来自 ProjectA 和 ProjectB 的 ProjectC) 的二进制文件,复制所有必需的文件并使用一些自动生成的消息提交 - 看起来非常简单。

但是 - 这是危险的。 ProjectA 和 ProjectB 的构建可能会中断,因为 ProjectC 的 API 已更改,或者某些未经测试的代码部分已损坏。这可能会打乱团队 A 和 B 的工作。我会寻求每天/每周/任何其他时间段提交一次新版本库的解决方案。

此外,创建一个自动更改日志可能是个好主意 - 例如,如果您信任 svn 日志消息的质量,您可以从提交版本中包含的所有"new"提交创建一个更改日志(或附加当前日志消息,如果您决定选择在每次提交后推送新库)。这样,负责 ProjectA 和 ProjectB 的团队将能够在新库损坏时轻松修复他们的构建 - 他们将确切知道更改的内容,而无需手动检查/询问团队 C。

关于continuous-integration - TeamCity 能否将一个构建的输出提交到另一个 svn 存储库,从而开始另一个构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1875821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com