6

我使用 Cruisecontrol.rb 进行 CI 和 FogBugz 进行错误跟踪,但答案越通用越好。

首先是技术问题:FogBugz 有 API 吗?有没有好的教程,或者更好的预写代码?

其次是程序问题:当构建中断时,CI 究竟应该在错误跟踪器中放入什么?也许:

标题:“#{last committer} 破坏了构建!”

正文:“#{ 错误跟踪 }”

我想这预设了这个问题的答案:我是否应该将 CI 中断放入我的错误跟踪中?

4

3 回答 3

4

在我的公司,我们最近采用了(商业)Atlassian 堆栈——包括用于问题跟踪的 JIRA 和用于构建的 Bamboo。就像 Microsoft 世界(我猜——我们是一家 Java 商店)一样,如果您从单一供应商处获得所有产品,您将获得紧密集成的好处。

有关他们如何完成互操作性的示例,请查看他们的互操作性页面

足够的先令。一般来说,我可以将他们的一般方法总结为:

  • 在您的错误跟踪器中创建问题(例如:PROJ-123 的问题键)。
  • 当您提交代码时,将“PROJ-123”添加到您的提交注释中以指示此代码更改修复了哪些错误。
  • 当您的 CI 服务器签出代码时,请扫描差异的提交注释。记录与问题键的正则表达式匹配的任何字符串。
  • 构建完成后,生成关于找到哪些问题密钥的报告。

具体到你的第二个问题:

您的 CI 不必在错误跟踪器中添加任何内容。Bamboo 不会在 JIRA 中添加任何内容。相反,Atlassian 人员向 JIRA 提供了一个插件,该插件将对 Bamboo 进行远程 api 调用,询问“Bamboo,我与什么构建(一个 JIRA 问题)相关?”。这可能最好用截图来解释。

于 2008-08-16T18:02:03.717 回答
3

我使用过的所有 CI 设置都会发送一封电子邮件(发送到一个列表),但如果你确实想要——特别是如果你的团队将 FogBugz 用作待办事项系统——你可以在 FogBugz 6 中打开一个案例。它有一个 API可以让您打开案例。就此而言,您可以将其配置为将电子邮件发送到您的 FogBugz 的电子邮件提交地址,但 API 可能会让您做更多事情,例如将案例分配给最后一个提交者。

Brian的回答向我建议,如果您的 CI 在具有案例编号的提交中发现失败,您甚至可以重新打开现有案例。然而,就像为每一件小事编写一个案例字段一样,CI 自动化在某一点上可能“太聪明了”,弄错了,而且很烦人。打开一个新的案例可能就足够了。

谢谢:这让我想知道我是否应该尝试将我们的黑猩猩设置与我们的 FogBugz 集成!

于 2008-08-16T19:56:45.093 回答
0

CC 带有一个实用程序,可以在构建失败时向您发出警告,可能不值得在 FogBugz 中记录失败的构建 - 您不需要跟踪立即解决的问题(因为大多数损坏的构建都会如此)

反过来(FogBugz 显示修复问题的签入),您需要一个基于 Web 的存储库浏览器 - FogBugz 易于配置,以便显示正确的更改。

于 2008-08-16T16:23:57.770 回答