Version control 将TeamCity构建配置添加到(适当的)源代码管理

Version control 将TeamCity构建配置添加到(适当的)源代码管理,version-control,automation,teamcity,Version Control,Automation,Teamcity,TeamCity中有100多个构建配置,在过去几个月里,我逐渐意识到这些资产与我们交付的实际项目资产(代码、配置等)一样重要(如果不是更重要的话) 为此,我知道TC提供了自己的构建配置版本控制,但对我来说,这似乎有点缺乏功能-例如,如果构建停止工作,那么最好能够在我最喜欢的diff工具中区分实际的XML构建配置,而不是依赖TC的内置配置,或者能够在更长的时间范围内查看差异,而不仅仅是查看前一个状态 显然,这可以通过提取构建定义并提交来手动处理,然后在更改定义时应用self-substitute始

TeamCity中有100多个构建配置,在过去几个月里,我逐渐意识到这些资产与我们交付的实际项目资产(代码、配置等)一样重要(如果不是更重要的话)

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


显然,这可以通过提取构建定义并提交来手动处理,然后在更改定义时应用self-substitute始终这样做。有人能提出一种更为联合的方法吗?我们正在使用TeamCity Enterprise v8.0.5

您可以升级到TeamCity 9吗?TeamCity现在已内置支持,可将构建配置同步到Git或Mercurial


您可以升级到TeamCity 9吗?TeamCity现在已内置支持,可将构建配置同步到Git或Mercurial


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

我不知道您使用的是什么操作系统或VCS,但您只需要提交所有XML文件,这样您就可以获得
project config.XML
、构建类型XML和插件配置,而不需要
.properties
文件,因为每次构建后构建编号文件都会更改

  • /config/projects/***.xml

如果您正在使用Git,您可以轻松地在
项目
目录中初始化一个repo,为
*.xml
以外的任何内容添加一个
.gitignore
,然后运行
Git add。
Git commit-m“编译配置设置已编辑”
作为计划作业。

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

我不知道您使用的是什么操作系统或VCS,但您只需要提交所有XML文件,这样您就可以获得
project config.XML
、构建类型XML和插件配置,而不需要
.properties
文件,因为每次构建后构建编号文件都会更改

  • /config/projects/***.xml

如果您正在使用Git,您可以轻松地在
项目
目录中初始化一个repo,为
*.xml
以外的任何内容添加一个
.gitignore
,然后运行
Git add。
Git commit-m“编译配置设置已编辑”
作为计划作业。

是的,这可能会成为一个目标-虽然理想情况下我想做一个临时解决方案是的,可能会成为一个目标-虽然理想情况下我想做一个临时解决方案我只是检查了我的一个TeamCity实例,我看到历史可以追溯到近一年前创建构建配置时,我可以在TeamCity内的任意点上区分XML以及大约30个更改,另一个配置我只得到一个条目。我不知道添加了哪个版本的TeamCity版本控制,但这可能就是为什么您没有看到比当前版本更多的版本。我可以肯定地确认8不允许这样做…我正在查看运行8.0.3的实例。它显示了“乔纳森·罗西(查看历史)上一次编辑是在一个月前”。“查看历史记录”链接是否为您显示?尝试转到
/admin/admin.html?item=audit&actionTypeSet=33
@JonathonRossi-奇怪,我看不到查看历史记录链接。只是“查看更改”链接。我刚刚检查了我的一个TeamCity实例,我看到历史可以追溯到将近一年前创建构建配置时,我可以在TeamCity中的任意点将XML区分为大约30个更改,另一个配置我只得到一个条目。我不知道添加了哪个版本的TeamCity版本控制,但这可能就是为什么您没有看到比当前版本更多的版本。我可以肯定地确认8不允许这样做…我正在查看运行8.0.3的实例。它显示了“乔纳森·罗西(查看历史)上一次编辑是在一个月前”。“查看历史记录”链接是否为您显示?尝试转到
/admin/admin.html?item=audit&actionTypeSet=33
@JonathonRossi-奇怪,我看不到查看历史记录链接。只是“视图更改”链接。