将 TeamCity 构建配置添加到(适当的)源代码控制

Adding TeamCity build configurations to (proper) source control

我们在 Team City 中有超过 100 个构建配置,在过去的几个月里我开始意识到这些资产与实际项目资产(代码、配置、等)我们正在交付。

为此,我知道 TC 提供了它自己的构建配置版本控制,但对我来说,功能似乎有点低 - 例如,如果构建停止工作,那么能够区分实际的 XML 在我最喜欢的 diff 工具中构建配置,而不是依赖 TC 的内置工具,或者能够在更长的时间范围内查看差异,而不是简单地对照之前的状态。

显然,这可以通过提取构建定义并提交来手动处理,然后在更改定义时应用自学徒始终执行此操作。谁能建议一种更联合的方法?我们正在使用 TeamCity Enterprise v8.0.5

你能升级到 TeamCity 9 吗? TeamCity 现在内置支持将构建配置同步到 Git 或 Mercurial。

https://www.jetbrains.com/teamcity/whatsnew/

https://www.youtube.com/watch?v=zTLeCrdxGIw

作为升级到 TeamCity 9 之前的临时解决方案,您可以每 10 分钟(甚至每分钟)将计划作业写入 运行,并自动将更改提交到新存储库。我会使用一个新的存储库,这样 TeamCity 就不会尝试触发提交。

我不知道你用的是什么 OS 或 VCS,但你只需要提交所有 XML 文件,这样你就可以得到 project-config.xml,构建类型 XML,和插件配置,你不需要 .properties 文件,因为内部版本号文件在每次构建后都会改变。

  • <TeamCityData>/config/projects/**/*.xml

如果您正在使用 Git,您可以轻松地在 projects 目录中初始化一个 repo,为 *.xml 以外的任何内容添加一个 .gitignore,并且 运行 git add .git commit -m "Build configuration settings were edited" 作为计划作业。