【问题标题】:How does one version control the configuration of a TeamCity project?一个版本如何控制 TeamCity 项目的配置?
【发布时间】:2014-11-07 03:55:24
【问题描述】:

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

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

通过这种方式,发布的构建过程是配置管理的。

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

【问题讨论】:

    标签: teamcity


    【解决方案1】:

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

    这样做的好处是:

    1. 构建文件受版本控制。
    2. 您可以在任何环境中运行该脚本。
    3. 更容易在 CI 环境之间移动。
    4. 每个人都对构建负责。

    【讨论】:

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

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

    Version control (e.g. in TFS) build configuration for TeamCity - is it possible?

    【讨论】:

      【解决方案3】:

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

      项目在 GitHub 上:https://github.com/grenade/teamcity-config-monitor

      【讨论】:

        【解决方案4】:

        您可以尝试查看在升级之前(或在恢复团队城市时)备份的文件夹,因为这些文件夹代表了您自初始安装以来所做的配置和更改。

        http://confluence.jetbrains.net/display/TCD4/TeamCity+Data+Backup

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

        您可以尝试将它们签入 SVN,但您需要停止 team city 的任何签入操作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-04
          • 2018-08-10
          • 1970-01-01
          • 2016-10-12
          相关资源
          最近更新 更多