【问题标题】:Configure TeamCity to build from SVN trunk, branches and/or tags配置 TeamCity 以从 SVN 主干、分支和/或标签构建
【发布时间】:2011-10-16 00:44:27
【问题描述】:

如何配置 TeamCity 以从 SVN 主干以及不同的分支和/或标签构建?

我们的想法是从同一个项目中进行多个构建,这样我们就可以拥有正在生产中的当前版本(能够在该“发布标签”上进行部署和修复),同时拥有每天都在进行实际开发的主干和分支。

对于我们的 SVN 目录,我们有我们的策略、所有者和所有这些,我们遇到的问题是如何配置 TeamCity 以在应用程序的不同“版本”或“状态”上为同一个项目进行多个构建。

最好的方法是什么?

提前致谢!

【问题讨论】:

标签: svn tags branch teamcity trunk


【解决方案1】:

我在 TeamCity 中遇到了类似的 SVN 问题,为了允许使用多个分支,我使用 配置参数 来传递“分支”,因为 TeamCity 不支持 SVN 的多分支。

并设置触发器以从该分支开始构建:

所以在项目中它看起来像:

【讨论】:

    【解决方案2】:

    首先,确保您的 VCS 根目录是管理面板中 SVN 存储库的根目录,而不是指向主干目录。

    然后,对于每个构建配置,在您的 VCS 配置中编辑检出规则。添加您想要的结帐规则。

    例如,对于您的“主干”构建配置,您的签出规则为:+:trunk => .

    如果您有要构建的标签或分支,只需使用相应的检出规则创建一个新的构建配置。 'release-1.1' 标签的检出规则为:+:tags/release-1.1 => .

    这里是关于结帐规则的文档:http://confluence.jetbrains.net/display/TCD65/VCS+Checkout+Rules

    【讨论】:

    • 嗨,理查德,感谢您的快速回复。我想我理解你的想法(我是 TeamCity 的新手),我会试一试;但我有一个疑问:我是否需要为我需要的每个版本制作一个构建配置?或者有没有办法让一个构建配置具有来自不同来源的多个构建输出?再次感谢!
    • 我建议每个版本一个,特别是如果您在签入时进行构建或想要一个可理解的构建历史。您可以定义一个配置参数以传递到结帐规则并每次运行自定义构建(使用运行按钮上的 [...],但这可能比多个构建配置更麻烦。我假设您担心免费版的局限性 - 但是,当您需要完整版时,每一分钱都值得。
    • 如果您是 TeamCity 的新手,请查看我的博客系列。它有点旧(4.5 版),但概念非常相关,大部分配置是相同的。 elegantcode.com/2009/05/04/…
    • 既然 TeamCity(从 v7.1 开始)包含对功能分支的支持,这将如何改变?详情请见blogs.jetbrains.com/teamcity/2012/08/07/…
    • TeamCity 7.1 功能分支似乎是 Git/Mercurial 唯一的功能。看起来 SVN 仍然需要多个分支。也就是说,如果你在做特性分支,你应该使用像 Git 或 Mercurial 这样的 DVCS。嗯......我认为你应该使用一个。 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 2012-09-14
    • 1970-01-01
    相关资源
    最近更新 更多