【发布时间】:2011-01-05 08:51:31
【问题描述】:
是否有人将 TeamCity 与 Rational Team Concert (RTC) 结合使用? RTC 是否还有其他持续集成?
【问题讨论】:
标签: version-control continuous-integration teamcity rtc rational-team-concert
是否有人将 TeamCity 与 Rational Team Concert (RTC) 结合使用? RTC 是否还有其他持续集成?
【问题讨论】:
标签: version-control continuous-integration teamcity rtc rational-team-concert
我没有将 TeamCity 与 RTC 结合使用,但我们有一篇关于将 Hudson 等外部构建系统与 RTC Build 集成的文章: http://jazz.net/library/article/350/ 基本上方法是让 Hudson 继续驱动构建,但使用 RTC Build Ant 任务来创建和填充与 Hudson 作业对应的 RTC 构建结果。
【讨论】:
作为与 Team Concert 合作的 IBM,我可以说 RTC 内置了开箱即用的持续集成。您可能需要查看构建定义 - 调度选项卡 - 以启用它。
【讨论】:
我们目前正在评估 Team Concert,其中包括尝试在 RTC 和 TeamCity 之间推出我们自己的集成。
基本练习是利用两个 java API 创建一个Version control plugin。您需要为团队城市实现少量功能;我们的原型总共有大约 1000 行源代码。
最大的问题似乎是:TeamCity 期望问题 getCurrentVersion() 有一个一致、稳定的答案,而流和工作区似乎并非如此。目前,我们正在尝试通过允许 vcs root 在必要时创建基线来解决这个问题,但是当您尝试使用存储库工作区时,这会产生一些不受欢迎的副作用(特别是 - 放置基线也会关闭(完成)任何打开的变更集......
此外,RTC 模型允许您在源系统中进行不连续的跳转 - 当前同步到基线 20 的工作区可以重新用于基线 25 或基线 15,这两者都不是该系统先前历史的一部分该工作区中的组件。那么我们应该如何告诉 Team city 的“补丁到当前版本”的答案应该是什么?
There's a wiki page 用于学习 RTC Java API。
记录在案的一个方面,但无论如何都让我感到意外的是,获取与存储库的连接的逻辑默认情况下会为您提供共享连接。当您让开发人员尝试为他们自己的工作区创建 VCS 根时,这会造成混乱。有一些标志可用于避免共享。
【讨论】:
是的,Team City 将与 RTC 一起使用,您只需在 RTC 中使用 CLI 启动的构建定义或从 TeamCity 端调用 RTC scm。
没有特定的集成,因此如果您想用状态和结果回馈 RTC,您需要从 ant 访问 buildtoolkit 库。
我已经成功使用了 Team City、Hudson、Jazz Build Engine、Cruise Control 和 Build Forge with RTC,我相信还有很多其他的,因为将它们以松散耦合的方式连接起来非常简单。
【讨论】: