我使用 Cruisecontrol.rb 进行 CI 和 FogBugz 进行错误跟踪,但答案越通用越好。
首先是技术问题:FogBugz 有 API 吗?有没有好的教程,或者更好的预写代码?
其次是程序问题:当构建中断时,CI 究竟应该在错误跟踪器中放入什么?也许:
标题:“#{last committer} 破坏了构建!”
正文:“#{ 错误跟踪 }”
我想这预设了这个问题的答案:我是否应该将 CI 中断放入我的错误跟踪中?
我使用 Cruisecontrol.rb 进行 CI 和 FogBugz 进行错误跟踪,但答案越通用越好。
首先是技术问题:FogBugz 有 API 吗?有没有好的教程,或者更好的预写代码?
其次是程序问题:当构建中断时,CI 究竟应该在错误跟踪器中放入什么?也许:
标题:“#{last committer} 破坏了构建!”
正文:“#{ 错误跟踪 }”
我想这预设了这个问题的答案:我是否应该将 CI 中断放入我的错误跟踪中?
在我的公司,我们最近采用了(商业)Atlassian 堆栈——包括用于问题跟踪的 JIRA 和用于构建的 Bamboo。就像 Microsoft 世界(我猜——我们是一家 Java 商店)一样,如果您从单一供应商处获得所有产品,您将获得紧密集成的好处。
有关他们如何完成互操作性的示例,请查看他们的互操作性页面。
足够的先令。一般来说,我可以将他们的一般方法总结为:
具体到你的第二个问题:
您的 CI 不必在错误跟踪器中添加任何内容。Bamboo 不会在 JIRA 中添加任何内容。相反,Atlassian 人员向 JIRA 提供了一个插件,该插件将对 Bamboo 进行远程 api 调用,询问“Bamboo,我与什么构建(一个 JIRA 问题)相关?”。这可能最好用截图来解释。
我使用过的所有 CI 设置都会发送一封电子邮件(发送到一个列表),但如果你确实想要——特别是如果你的团队将 FogBugz 用作待办事项系统——你可以在 FogBugz 6 中打开一个案例。它有一个 API可以让您打开案例。就此而言,您可以将其配置为将电子邮件发送到您的 FogBugz 的电子邮件提交地址,但 API 可能会让您做更多事情,例如将案例分配给最后一个提交者。
Brian的回答向我建议,如果您的 CI 在具有案例编号的提交中发现失败,您甚至可以重新打开现有案例。然而,就像为每一件小事编写一个案例字段一样,CI 自动化在某一点上可能“太聪明了”,弄错了,而且很烦人。打开一个新的案例可能就足够了。
谢谢:这让我想知道我是否应该尝试将我们的黑猩猩设置与我们的 FogBugz 集成!
CC 带有一个实用程序,可以在构建失败时向您发出警告,可能不值得在 FogBugz 中记录失败的构建 - 您不需要跟踪立即解决的问题(因为大多数损坏的构建都会如此)
反过来(FogBugz 显示修复问题的签入),您需要一个基于 Web 的存储库浏览器 - FogBugz 易于配置,以便显示正确的更改。