将 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。
作为升级到 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"
作为计划作业。
我们在 Team City 中有超过 100 个构建配置,在过去的几个月里我开始意识到这些资产与实际项目资产(代码、配置、等)我们正在交付。
为此,我知道 TC 提供了它自己的构建配置版本控制,但对我来说,功能似乎有点低 - 例如,如果构建停止工作,那么能够区分实际的 XML 在我最喜欢的 diff 工具中构建配置,而不是依赖 TC 的内置工具,或者能够在更长的时间范围内查看差异,而不是简单地对照之前的状态。
显然,这可以通过提取构建定义并提交来手动处理,然后在更改定义时应用自学徒始终执行此操作。谁能建议一种更联合的方法?我们正在使用 TeamCity Enterprise v8.0.5
你能升级到 TeamCity 9 吗? TeamCity 现在内置支持将构建配置同步到 Git 或 Mercurial。
作为升级到 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"
作为计划作业。