四款頂級(jí)的開(kāi)源問(wèn)題追蹤工具概述
譯文生活中充斥著大大小小的bug。
無(wú)論如何精心加以策劃,無(wú)論我們?cè)谠O(shè)計(jì)工作中投入多少時(shí)間,任何項(xiàng)目都會(huì)在步入實(shí)際運(yùn)行的過(guò)程當(dāng)中遭遇種種不可預(yù)見(jiàn)的問(wèn)題。這很正常,也許衡量一家企業(yè)是否擁有良好彈性的標(biāo)準(zhǔn)并不在于其處理保障一切以規(guī)劃方式正確起效,而是如何在問(wèn)題發(fā)生時(shí)將其識(shí)別出來(lái)并加以處理。
對(duì)于任何項(xiàng)目管理工作流,特別是在軟件開(kāi)發(fā)工作當(dāng)中,一大關(guān)鍵性工具就是問(wèn)題追蹤方案。其基本原理非常簡(jiǎn)單:允許以協(xié)作模式對(duì)bug進(jìn)行開(kāi)啟、追蹤及解決,同時(shí)簡(jiǎn)化整個(gè)進(jìn)程推進(jìn)流程。除了基礎(chǔ)功能之外,此類(lèi)工具還提供大量其他選項(xiàng),專(zhuān)注于滿(mǎn)足特定需求、功能以及用例,具體包括軟件開(kāi)發(fā)及其他事務(wù)。大家對(duì)于此類(lèi)工具的托管版本可能較為熟悉,例如GitHub Issues或者Launchpad,其中一部分本身即屬于開(kāi)源項(xiàng)目。
在今天的文章中,我們將審視四款卓越的bug與問(wèn)題管理選項(xiàng),它們?nèi)繉儆陂_(kāi)源項(xiàng)目且能夠輕松實(shí)現(xiàn)下載與托管。為了簡(jiǎn)潔起見(jiàn),我們不會(huì)列出當(dāng)前可用的每款追蹤工具;相反,這里選出了四款我們最偏愛(ài)的方案,其皆擁有豐富的功能集以及強(qiáng)大的背后技術(shù)社區(qū)。當(dāng)然,其他優(yōu)秀選項(xiàng)亦所在多有,大家可以在評(píng)論欄中分享您認(rèn)為更出色或者自己所喜愛(ài)的其他解決方案。
1.Redmine
Redmine是一款高人氣問(wèn)題追蹤工具,由Ruby on Rails構(gòu)建而成且誕生于2006年。作為一款在諸多方面與我們的另一大推薦選項(xiàng)Trac類(lèi)似的方案,Redmine能夠管理多個(gè)項(xiàng)目并集成多種版本控制系統(tǒng)。除了基本問(wèn)題追蹤能力,Redmine還提供論壇、維基、時(shí)間追蹤工具,且有能力生成Gantt圖表與日程表以實(shí)現(xiàn)進(jìn)度追蹤。
Redmine亦具有非常靈活的設(shè)置機(jī)制,支持多種數(shù)據(jù)庫(kù)后端及數(shù)十種語(yǔ)言,同時(shí)具備可定制性并允許面向問(wèn)題、用戶(hù)以及項(xiàng)目等等添加定制化字段。另外,它還能夠進(jìn)一步利用由社區(qū)創(chuàng)建的插件與主題實(shí)現(xiàn)其他多種定制化能力。
感興趣的朋友可以點(diǎn)擊此處嘗試其在線演示。Redmine遵循GPL version 2開(kāi)源版本;其開(kāi)源代碼可在項(xiàng)目中的子版本庫(kù)或者GitHub中的鏡像處獲取。
2.Bugzilla
Bugzilla是另一款極具人氣的開(kāi)發(fā)工具,且具備問(wèn)題追蹤功能。顧名思義,Bugzilla最初由Mozilla基金會(huì)開(kāi)發(fā)而成,用于在Netscape Communicator套件開(kāi)發(fā)過(guò)程中追蹤各類(lèi)bug。其隨后被移植至Perl版本以利用tcl路由實(shí)現(xiàn)更出色的可訪問(wèn)能力。Bugzilla是目前發(fā)展時(shí)間最長(zhǎng)且應(yīng)用最為廣泛的問(wèn)題追蹤系統(tǒng)之一,當(dāng)下有大量知名開(kāi)源項(xiàng)目將其納入自身,具體包括GNOME、KDE以及Linux內(nèi)核本身。
Bugzilla當(dāng)中囊括有大量先進(jìn)工具,從通知到復(fù)制錯(cuò)誤檢測(cè)再到共享式搜索,Bugzilla已經(jīng)成為一套功能豐富的解決方案選項(xiàng)。Bugzilla還具備一套綜合性報(bào)告工具,能夠生成圖表及自動(dòng)定時(shí)報(bào)告,從而建立起一套先進(jìn)的搜索系統(tǒng)。與Redmine一樣,Bugzilla還具備面向字段本身的可擴(kuò)展性與可定制性,且能夠?yàn)閎ug創(chuàng)建定制化工作流。其也能夠與多種數(shù)據(jù)庫(kù)后端對(duì)接,并直接支持大量不同類(lèi)型的編程語(yǔ)言。
Bugzilla基于Mozilla Public許可,大家可以點(diǎn)擊此處查閱其未來(lái)發(fā)展路線圖,或者點(diǎn)擊此處通過(guò)其官方網(wǎng)站體驗(yàn)demo server。
3.Trac
Trac將自身描述為一套簡(jiǎn)約型方案,負(fù)責(zé)實(shí)現(xiàn)基于Web的軟件項(xiàng)目管理——但這種極簡(jiǎn)設(shè)計(jì)并不會(huì)導(dǎo)致基礎(chǔ)性功能的缺失。
作為由Python語(yǔ)言編寫(xiě)而成的項(xiàng)目,Trac將自身bug追蹤功能與其維基系統(tǒng)緊密加以結(jié)合,同時(shí)匹配一套由用戶(hù)選定的版本控制系統(tǒng)。其提供多種項(xiàng)目管理功能,包括生成里程碑與路線圖、時(shí)限、對(duì)多套庫(kù)提供支持、內(nèi)置垃圾郵件過(guò)濾機(jī)制并可用于多種常見(jiàn)語(yǔ)言。與本文提到的其它bug追蹤工具一樣,其擁有一系列能夠?qū)ΜF(xiàn)有功能基礎(chǔ)加以進(jìn)一步擴(kuò)展的插件選項(xiàng)。
Trac遵循一套經(jīng)過(guò)修改的開(kāi)源BSD許可,不過(guò)其前期版本則遵循 GPL許可。大家可以利用一套自托管庫(kù)查看Trac源代碼,或者點(diǎn)擊此處查看其未來(lái)發(fā)展規(guī)劃。
4.Mantis
Mantis是我們本篇文章介紹的最后一款工具,這套基于PHP語(yǔ)言的bug追蹤工具已經(jīng)擁有十六年發(fā)展歷史。這款bug追蹤工具支持多種不同版本控制系統(tǒng)以及一套事件驅(qū)動(dòng)型通知系統(tǒng)。Mantis的功能集與本文的其他工具相似。盡管其本身并不提供維基機(jī)制,但它亦可與多款高人氣維基平臺(tái)相集成,且已被本地化為多種語(yǔ)言。
Mantis基于GPL version 2開(kāi)源許可;大家可以通過(guò)GitHub查看其源代碼,或者檢查其自托管發(fā)展路線圖以了解未來(lái)發(fā)展規(guī)劃。另外,大家也可以點(diǎn)擊此處檢查其內(nèi)部bug追蹤演示工具。
正如我們所指出,這四款方案絕非唯一選項(xiàng)。除了這四款工具,大家還可以選擇Apache Bloodhound、Fossil、The Bug Genie以及其他備選產(chǎn)品,它們也各自擁有獨(dú)特的優(yōu)勢(shì)與短板。那么,大家更偏愛(ài)哪些bug追蹤與處理工具?請(qǐng)?jiān)谠u(píng)論欄中分享您的心得。
原文標(biāo)題:Top 4 open source issue tracking tools,作者:Jason Baker
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】