TeamCity的版本控制(例如在TFS中)构建配置 - 是否可能?

时间:2012-09-11 16:01:17

标签: configuration tfs teamcity versioning

我希望将构建基础架构从CC.NET迁移到TeamCity。不可否认,TeamCity此时非常环保。

一个潜在的阻碍因素是我们需要将构建配置与其构建的源代码一起进行版本控制。 CC.NET使这非常简单,是一个非常有用/强大的功能。

根据我的调查,您可以更改TeamCity存储其配置/数据的位置,但是没有任何官方文档(此处也没有其他主题)似乎引用它将其置于版本控制的位置,如TFS,Perforce或ClearCase。

因此我想知道它是否可能和/或它是'做过的事情'??

如果TeamCity假定R / W访问任何配置文件并且底层VCS使文件R / O需要签入/签出语义,这会使TeamCity混淆并阻止它工作。可能是这样吗。

这里有没有人有Team Foundation Server(或类似版本)中版本控制TeamCity构建配置的经验?

谢谢, 千斤顶

仅供参考 - How does one version control the configuration of a TeamCity project?似乎是SO上唯一的类似线程。 http://confluence.jetbrains.net/display/TCD7/How+To ......以及相关的官方文档谈论迁移配置和/或备份配置,这很接近但不是真的相同。

4 个答案:

答案 0 :(得分:2)

这不是答案,但是......

我们向JetBrains询问了他们的建议,得到了以下回应:

  

到目前为止,还没有存储配置设置的功能   版本控制。这些设置以XML格式存储在磁盘上(in   TeamCity数据目录 -   http://confluence.jetbrains.net/display/TCD7/TeamCity+Data+Directory)   理论上可以将目录与a同步   版本控制。您可能想投票支持该功能或观看该功能   我们的问题跟踪器:http://youtrack.jetbrains.com/issue/TW-2806

我看不出任何优雅的解决方案,所以会认为最好的解决方案(最差的解决方案......)是:

  1. 将复杂构建逻辑移动到版本控制的MSBuild / Nant脚本中;和
  2. 如果您有时间,请在源代码管理和TeamCity数据目录之间实现自定义同步服务。在这种情况下,您可能必须准备好处理需要手动合并的故障(不好玩:-()。
  3. 祝你好运,如果你找到一个好的解决方案,请分享:-D

答案 1 :(得分:2)

答案 2 :(得分:0)

我一直想要一种很长时间来源控制TeamCity配置的方法。我最终编写了一个Windows服务,它监视配置目录并提交对git的更改。

这不是TFS,但源代码在GitHub上,因此您可以轻松调整解决方案以满足您的需求。

该项目在GitHub上:https://github.com/grenade/teamcity-config-monitor

答案 3 :(得分:0)

据我所知,这不受支持,但我建议的方法是在构建期间调用存储在源代码管理中的批处理文件。批处理文件可以手动调用执行构建所需的命令,或者可以调用例如的FinalBuilder。这使构建过程具有很大的灵活性。

相关问题