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

6
我希望将我们的构建基础设施从CC.NET迁移到TeamCity。目前对TeamCity了解还不够深入。
一个潜在的问题是,我们需要将构建配置与其构建的源代码一起进行版本控制。CC.NET使这个过程非常容易,并且是一个非常有用/强大的功能。
经过我的调查,您可以更改TeamCity存储其配置/数据的位置,但官方文档(以及其他SO上的主题)似乎都没有提到将其放置在版本控制位置(例如TFS,Perforce或ClearCase)。
因此,我想知道是否可能并且是否是“正确的做法”??
如果TeamCity假定对任何配置文件具有R / W访问权限,并且底层VCS使文件具有R / O要求进行签入/签出语义,那么这是否会使TeamCity产生困惑并停止工作。
这里是否有人有在Team Foundation Server(或类似软件)中对TeamCity构建配置进行版本控制的经验?
谢谢, Jack

FYI - 如何对TeamCity项目的配置进行版本控制?似乎是SO上唯一类似的帖子。http://confluence.jetbrains.net/display/TCD7/How+To和相关的官方文档谈论了迁移配置和/或备份,这很接近但并不完全相同。

4个回答

3

3

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

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

目前还没有将配置设置存储在版本控制中的功能。设置存储在磁盘上的XML文件中(在TeamCity数据目录中 - http://confluence.jetbrains.net/display/TCD7/TeamCity+Data+Directory),理论上可以将该目录与版本控制同步。您可能需要为此功能投票或在我们的问题跟踪器中关注它:http://youtrack.jetbrains.com/issue/TW-2806

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

  1. 将复杂的构建逻辑移入版本控制的MSBuild/Nant脚本中;
  2. 如果有时间,实现自定义同步服务在源代码控制和TeamCity数据目录之间。在这种情况下,您可能需要准备处理需要定期手动合并的失败(不好玩 :-( )。

祝你好运,如果找到好的解决方案,请分享 :-D


0
据我所知,这并不被支持,但我推荐的方法是在构建期间调用存储在源代码控制中的批处理文件。批处理文件可以手动调用所需的构建命令,或者可以调用例如FinalBuilder。这样可以在构建过程中实现很大的灵活性。

0

我一直想找到一种对TeamCity配置进行源代码控制的方法,最终我编写了一个Windows服务来监视配置目录并将更改提交到Git。

虽然不是TFS,但源代码在GitHub上,所以您可以轻松地根据自己的需求调整解决方案。

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


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