如何将我的持续集成系统与我的错误跟踪系统集成?

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 持续集成

使用 Jenkins 和 Fabric 在工作区中持续集成 iOS 项目

问题将 vue.js 前端与我的 django 后端集成

集成与持续集成介绍