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