TeamCity 和 IBM Rational Team Concert (RTC) 集成
有人使用过 TeamCity 和 Rational Team Concert (RTC) 吗? RTC还有其他持续集成吗?
Has anyone used TeamCity with Rational Team Concert (RTC) ? Is there any other continous integration for RTC?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我们目前正在评估 Team Concert,其中包括尝试在 RTC 和 TeamCity 之间推出我们自己的集成。
基本练习是利用两个 java API 创建一个 版本控制插件。您需要为 team city 实现少量功能;我们的原型总共约有 1000 行源代码。
最大的问题似乎是这样的:TeamCity 期望问题 getCurrentVersion() 具有一致、稳定的答案,但对于流和工作区来说似乎并非如此。目前,我们正在尝试通过允许 vcs 根在必要时创建基线来解决这个问题,但是当您尝试使用存储库工作区时,这会产生一些不受欢迎的副作用(特别是放置基线也会关闭(完成)任何开放的变更集...
此外,RTC 模型允许您在源系统中进行不连续跳转 - 当前同步到基线 20 的工作空间可以重新用于基线 25 或基线 15,这两个都不是 将其修补到当前版本”的答案应该是什么?
该工作区中该组件之前历史的一部分,那么我们应该告诉 team city “ view/Main/RtcSdk20" rel="nofollow noreferrer">有一个用于学习 RTC Java API 的 wiki 页面。
有一个方面已记录在案,但无论如何都让我感到惊讶,那就是获取默认情况下,与存储库的连接将为您提供共享连接,当您让开发人员尝试为自己的工作区创建 VCS 根时,这会造成混乱。有一些标志可以用来避免共享。
We're currently evaluating Team Concert, and that includes trying to roll our own integration between RTC and TeamCity.
Basic drill is that you take advantage of the two java APIs to create a Version control plugin. There's a small handful of functions that you need to implement for team city; our prototype is about 1000 lines of source, total.
The biggest problem appears to be this: that TeamCity expects the question getCurrentVersion() to have a consistent, stable answer, and that doesn't seem to be true of streams and workspaces. For the moment, we're trying to work around that by allowing the vcs root to create baselines where necessary, but this has some unwelcome side effects when you are trying to work with a repository workspace (in particular - placing a baseline also closes (completes) any open change sets....
Also, the RTC model allows you do make discontinuous jumps in the source system - a workspace currently synced to Baseline 20 can be re-purposed to baseline 25, or baseline 15, neither of which are part of the prior history of that component in that workspace. So what should we tell team city the answer to "patch this to the current version" should be?
There's a wiki page for learning the RTC Java API.
One aspect that is documented, but managed to catch me by surprise anyway, is that the logic for obtaining a connection to the repository will, by default, hand you a shared connection. This makes a mess when you have developers trying to create VCS roots for their own workspace. There are flags available to avoid the sharing.
作为与 Team Concert 合作的 IBM 人员,我可以说 RTC 具有开箱即用的内置持续集成功能。您可能需要查看构建定义 - 调度选项卡 - 来启用它。
As an IBM who works with Team Concert, I can say RTC has continuous integration built in out of the box. You might want to check out the build definitions - scheduling tab - to enable it.
我没有将 TeamCity 与 RTC 一起使用,但我们有一篇关于将 Hudson 等外部构建系统与 RTC Build 集成的文章:
http://jazz.net/library/article/350/
基本上,该方法是让 Hudson 继续驱动构建,但使用 RTC Build Ant 任务来创建并填充与 Hudson 作业相对应的 RTC 构建结果。
I have not used TeamCity with RTC, but we have an article on integrating external build systems like Hudson with RTC Build:
http://jazz.net/library/article/350/
Basically the approach is to let Hudson continue to drive the builds, but use the RTC Build Ant tasks to create and populate an RTC build result corresponding to the Hudson job.
是的,Team City 将与 RTC 配合使用,您只需在 RTC 中使用 CLI 启动的构建定义或从 TeamCity 端调用 RTC scm。
没有特定的集成,因此如果您想向 RTC 贡献状态和结果,您将需要从 ant 访问 buildtoolkit 库。
我已经成功使用了 Team City、Hudson、Jazz Build Engine、Cruise Control 和 Build Forge with RTC,我确信还有很多其他的,因为将它们以松散的耦合方式连接起来非常简单。
Yes, Team City will work with RTC you just need to use either a CLI initiated Build Definition in RTC or call RTC scm from the TeamCity side.
There is no specific integration so if you want to contribute back to RTC with status and results you will need to access the buildtoolkit libs from ant.
I have used, Team City, Hudson, Jazz Build Engine, Cruise Control, and Build Forge with RTC successfully and I am sure there are many others since it is pretty simple to get them hooked up in a loose coupling.