開發(fā)過大型項(xiàng)目的朋友一定都接觸過這樣幾類工具:需求管理、代碼和版本控制和Bug跟蹤工具。比較常見的需求管理是ClearQuest,代碼和版本控制工具中用多的是VSS和CVS,而Bug跟蹤工具出名的一定是bugzilla了。
Bugzilla是Mozilla團(tuán)隊(duì)為我們奉獻(xiàn)的一款免費(fèi)的的bug跟蹤工具,它完全基于web方式,安裝簡(jiǎn)單、運(yùn)行方便快捷,可以使用MySQL數(shù)據(jù)庫或者Ldap進(jìn)行存儲(chǔ),系統(tǒng)非常靈活,有強(qiáng)大的可配置能力,并且可以自動(dòng)發(fā)送Email進(jìn)行通知和提醒,生產(chǎn)靈活方便的各種報(bào)表、圖形,還能支持標(biāo)準(zhǔn)的XML導(dǎo)入和導(dǎo)出。
作為一個(gè)產(chǎn)品缺陷的記錄及跟蹤工具,它能夠?yàn)槟憬⒁粋(gè)完善的Bug跟蹤體系,同時(shí),由于在需求管理和bug追蹤之間有很多流程和特點(diǎn)的相似,Bugzilla同時(shí)還可以用來實(shí)現(xiàn)入門級(jí)的需求管理,一個(gè)需求如同一個(gè)bug一樣,從提出到接收、處理、反饋、驗(yàn)證整個(gè)過程都可以在bugzilla中得到體現(xiàn)和處理,并且可以和bug一樣對(duì)應(yīng)到產(chǎn)品和相關(guān)人員,Michael原來在yahoo工作的時(shí)候,公司是使用了bugzilla作為需求和bug管理的平臺(tái),感覺非常方便實(shí)用。
更多的Bugzilla的特點(diǎn)在這里不多說了,Michael在這里主要講述一下在FreeBSD6.1環(huán)境下如何快速安裝配置Bugzilla,為您的項(xiàng)目提供需求和bug管理支持。
Michael這里提到的安裝有個(gè)前提,那是假設(shè)您的系統(tǒng)上已經(jīng)成功安裝了FreeBSD6.1和配置了ports,并通過ports完成了Apache、Perl、MySQL的安裝和配置,有關(guān)FreeBSD6.1的安裝,ports的配置以及Apache、Perl和MySQL的安裝配置在這里不多說了,相關(guān)的資料相當(dāng)之多。
下面是Michael的Bugzilla安裝過程。
#cd /usr/ports/devel/bugzilla
#more ./distinfo (看看版本信息,可以看到類似下面的內(nèi)容)
MD5 (bugzilla-2.22.tar.gz) = bbf2f1ec5607978d39855df104231973
SHA256 (bugzilla-2.22.tar.gz) = 9d7e2144cd8499430c802ef5267dd2237aaec401546e5b9476db4f9ca19ebd4d
SIZE (bugzilla-2.22.tar.gz) = 1956898
表示當(dāng)前ports中的bugzilla版本是2.22版,這個(gè)版本基本上是當(dāng)前官方發(fā)布的stable版本的新版
#make config (進(jìn)行初始化配置選項(xiàng)設(shè)置,下面是我的選擇)
[X] MYSQL MySQL database support
[ ] PGSQL PostgreSQL database support
[X] CHARTING_MODULES Bug charting support
[ ] GRAPHVIZ Use GraphViz
[X] EMAIL_GATEWAY Use email gateway
[X] EXPORT_IMPORT Import/export bugs (via XML)
[ ] CONTRIB Install user-contributed scripts
[ ] LDAP Enable LDAP support
選擇對(duì)MySQL數(shù)據(jù)庫、圖形報(bào)表、郵件、XML導(dǎo)入導(dǎo)出的支持
#make install clean
以上完成基本的安裝,接下來要進(jìn)行一些設(shè)置才能終使用。
設(shè)置MySQL
我們需要設(shè)置使用MySQL數(shù)據(jù)庫來存儲(chǔ)Bugzilla的數(shù)據(jù),你可以通過命令行或者phpmyadmin這樣的web管理工具來進(jìn)行設(shè)置,下面我們使用MySQL的命令行來完成設(shè)置。
#mysql -hlocalhost -uroot -p
Enter password:xxxxxx
mysql> create database <dbname>;
mysql> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON <dbname>.*
TO <dbuser>@localhost IDENTIFIED BY '<dbpass>';
mysql> FLUSH PRIVILEGES;
mysql> exit;
上面完成了在本機(jī)的MySQL上創(chuàng)建供bugzilla使用的數(shù)據(jù)庫 (這里的更換成您要使用的數(shù)據(jù)庫名稱),同時(shí)添加用戶和口令,該用戶對(duì)具有所有權(quán)限。
在這里,Michael使用的是bugzilla,和均為bugzilla
另外,為了讓MySQL支持bugzilla的較大附件存儲(chǔ),還需要修改MySQL的默認(rèn)設(shè)置,bugzilla默認(rèn)支持的附件大1M,修改方式如下:
#vi /etc/my.cnf
在[mysqld]段中加入下面一行
max_allowed_packet=1M