【问题标题】:Adding TeamCity build configurations to (proper) source control将 TeamCity 构建配置添加到(正确的)源代码控制
【发布时间】:2015-02-06 09:03:40
【问题描述】:

我们在 Team City 中有 100 多个构建配置,在过去的几个月中,我开始意识到这些资产与实际项目资产(代码、配置等)同样重要(如果不是更重要的话)我们正在交付。

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

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

【问题讨论】:

  • 我刚刚检查了我的一个 TeamCity 实例,我看到历史可以追溯到近一年前创建构建配置时,我可以随时在 TeamCity 中对 XML 进行大约 30 次更改,另一个配置我只得到一个条目。我不知道添加了哪个版本的 TeamCity 版本控制,但这可能就是为什么您没有看到比当前更多的版本。
  • 嗯,我可以肯定地确认 8 不允许这样做......
  • 我正在查看一个运行 8.0.3 的实例。它显示“由乔纳森·罗西(Jonathon Rossi)在一个月前编辑(查看历史记录)”。 “查看历史记录”链接会为您显示吗?试试去/admin/admin.html?item=audit&actionTypeSet=33
  • @JonathonRossi - 很奇怪,我看不到查看历史链接。只是“视图更改”链接。

标签: version-control automation teamcity


【解决方案1】:

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

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

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

【讨论】:

  • 是的,这可能会是一个观众 - 虽然理想情况下我想做一个临时解决方案
【解决方案2】:

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

我不知道您使用的是什么操作系统或 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" 作为计划作业运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-20
    • 2011-11-02
    • 1970-01-01
    • 2011-11-07
    • 2022-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多