一个版本如何控制TeamCity项目的配置?

一个版本如何控制TeamCity项目的配置?,teamcity,Teamcity,在我的CruiseControl实例中,我对ccnet.config文件进行了版本控制 当我想更新CruiseControl时,我运行一个“更新配置”作业,它从版本控制获取配置 通过这种方式,版本的构建过程就是配置管理的 我想知道如何在TeamCity下有效地实现这些目标 您可以尝试查看升级之前(或恢复team city时)备份的文件夹,因为这些文件夹表示自初始安装以来所做的配置和更改 一些相关数据实际上是一个数据库(事实上,文档建议您将TeamCity指向像mysql这样的真实数据库,而不是

在我的CruiseControl实例中,我对ccnet.config文件进行了版本控制

当我想更新CruiseControl时,我运行一个“更新配置”作业,它从版本控制获取配置

通过这种方式,版本的构建过程就是配置管理的


我想知道如何在TeamCity下有效地实现这些目标

您可以尝试查看升级之前(或恢复team city时)备份的文件夹,因为这些文件夹表示自初始安装以来所做的配置和更改

一些相关数据实际上是一个数据库(事实上,文档建议您将TeamCity指向像mysql这样的真实数据库,而不是它使用的默认嵌入式数据库)


您可以尝试将这些内容签入SVN,但您需要停止team city的任何签入操作。

我尝试将我使用的CI尽可能轻,并将尽可能多的构建运行放在msbuild或nant脚本中,包括运行测试、代码覆盖率等

这样做的好处是:

  • 生成文件受版本控制
  • 您可以在任何环境中运行脚本
  • 更易于在CI环境之间移动
  • 每个人都对构建负责

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


    该项目位于GitHub上:

    这已在TeamCity 9中引入。也在另一篇帖子中回答:


    我也是。但问题是,构建过程可能会变得复杂,包括并行运行构建步骤、传递构建工件、构建链、e.t.c。所有这些一旦配置好就很难重复。这就是为什么在VCS中存储构建配置(而不仅仅是构建脚本)非常重要的原因。但遗憾的是,大多数CI服务器没有此功能:(