如何将我的持续集成系统与我的错误跟踪系统集成?
Posted
技术标签:
【中文标题】如何将我的持续集成系统与我的错误跟踪系统集成?【英文标题】:How do I integrate my continuous integration system with my bug tracking system? 【发布时间】:2010-09-06 00:08:48 【问题描述】:我使用 Cruisecontrol.rb 进行 CI 和 FogBugz 进行错误跟踪,但答案越笼统越好。
首先是技术问题:是否有 FogBugz 的 API?有没有好的教程,或者更好的预写代码?
其次是程序问题:当构建中断时,CI 究竟应该在错误跟踪器中放入什么?也许:
标题:“#last committer 破坏了构建!”
正文:“# 错误跟踪 ”
我想这预设了这个问题的答案:我是否应该将 CI 中断纳入我的错误跟踪?
【问题讨论】:
【参考方案1】:CC 带有一个实用程序,可以在构建失败时向您发出警告,可能不值得在 FogBugz 中记录失败的构建 - 您不需要跟踪立即解决的问题(因为大多数损坏的构建都是如此)
反过来说(FogBugz 显示修复问题的签入),您需要一个基于 Web 的存储库浏览器 - FogBugz 易于配置,以便显示正确的更改。
【讨论】:
【参考方案2】:在我的公司,我们最近采用了(商业)Atlassian 堆栈 - 包括用于问题跟踪的 JIRA 和用于构建的 Bamboo。就像 Microsoft 世界(我猜 - 我们是一家 Java 商店)一样,如果您从单一供应商处获得所有产品,您将获得紧密集成的好处。
有关他们如何实现互操作性的示例,请查看他们的interoperability page。
足够的先令。一般来说,我可以将他们的一般做法总结为:
在您的错误跟踪器中创建问题(例如:PROJ-123 的问题键)。 当您提交代码时,将“PROJ-123”添加到您的提交注释中,以表明此代码更改修复了哪些错误。 当您的 CI 服务器签出代码时,扫描差异的提交 cmets。记录与问题键的正则表达式匹配的任何字符串。 构建完成后,生成发现问题密钥的报告。特别是你的第二个问题:
您的 CI 不必在您的错误跟踪器中添加任何内容。 Bamboo 不会在 JIRA 中添加任何内容。相反,Atlassian 人员向 JIRA 提供了一个插件,该插件将对 Bamboo 进行远程 api 调用,询问“Bamboo,我与什么构建(一个 JIRA 问题)相关?”。这可能最好用screenshot 来解释。
【讨论】:
【参考方案3】:我使用过的所有 CI 设置都会发送一封电子邮件(发送到一个列表),但如果您确实需要(尤其是如果您的团队将 FogBugz 用作待办事项系统),您可以在 FogBugz 6 中打开一个案例。@ 987654321@ 可让您打开案例。就此而言,您可以将其配置为将电子邮件发送到您的 FogBugz 的电子邮件提交地址,但 API 可能会让您做更多事情,例如将案例分配给最后一个提交者。
Brian 的回答告诉我,如果您的 CI 在具有案例编号的提交中发现失败,您甚至可以重新打开现有案例。然而,就像为每一件小事编写一个案例字段一样,CI 自动化在某一点上可能“太聪明了”,弄错了,而且很烦人。开一个新案子就够了。
谢谢:这让我想知道我是否应该尝试将我们的 Chimps 设置与我们的 FogBugz 集成!
【讨论】:
以上是关于如何将我的持续集成系统与我的错误跟踪系统集成?的主要内容,如果未能解决你的问题,请参考以下文章
Jmeter+Jenkins持续集成(三集成到Jenkins)
RoboCopy + Atlassian Bamboo 持续集成