開發(fā)過大型項目的朋友一定都接觸過這樣幾類工具:需求管理、代碼和版本控制和Bug跟蹤工具。比較常見的需求管理是ClearQuest,代碼和版本控制工具中用多的是VSS和CVS,而Bug跟蹤工具出名的一定是bugzilla了。
Bugzilla是Mozilla團隊為我們奉獻的一款免費的的bug跟蹤工具,它完全基于web方式,安裝簡單、運行方便快捷,可以使用MySQL數(shù)據(jù)庫或者Ldap進行存儲,系統(tǒng)非常靈活,有強大的可配置能力,并且可以自動發(fā)送Email進行通知和提醒,生產靈活方便的各種報表、圖形,還能支持標準的XML導入和導出。
作為一個產品缺陷的記錄及跟蹤工具,它能夠為你建立一個完善的Bug跟蹤體系,同時,由于在需求管理和bug追蹤之間有很多流程和特點的相似,Bugzilla同時還可以用來實現(xiàn)入門級的需求管理,一個需求如同一個bug一樣,從提出到接收、處理、反饋、驗證整個過程都可以在bugzilla中得到體現(xiàn)和處理,并且可以和bug一樣對應到產品和相關人員,Michael原來在yahoo工作的時候,公司是使用了bugzilla作為需求和bug管理的平臺,感覺非常方便實用。
更多的Bugzilla的特點在這里不多說了,Michael在這里主要講述一下在FreeBSD6.1環(huán)境下如何快速安裝配置Bugzilla,為您的項目提供需求和bug管理支持。
Michael這里提到的安裝有個前提,那是假設您的系統(tǒng)上已經成功安裝了FreeBSD6.1和配置了ports,并通過ports完成了Apache、Perl、MySQL的安裝和配置,有關FreeBSD6.1的安裝,ports的配置以及Apache、Perl和MySQL的安裝配置在這里不多說了,相關的資料相當之多。
下面是Michael的Bugzilla安裝過程。
#cd /usr/ports/devel/bugzilla
#more ./distinfo (看看版本信息,可以看到類似下面的內容)
MD5 (bugzilla-2.22.tar.gz) = bbf2f1ec5607978d39855df104231973
SHA256 (bugzilla-2.22.tar.gz) = 9d7e2144cd8499430c802ef5267dd2237aaec401546e5b9476db4f9ca19ebd4d
SIZE (bugzilla-2.22.tar.gz) = 1956898
表示當前ports中的bugzilla版本是2.22版,這個版本基本上是當前官方發(fā)布的stable版本的新版
#make config (進行初始化配置選項設置,下面是我的選擇)
[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
選擇對MySQL數(shù)據(jù)庫、圖形報表、郵件、XML導入導出的支持
#make install clean
以上完成基本的安裝,接下來要進行一些設置才能終使用。
設置MySQL
我們需要設置使用MySQL數(shù)據(jù)庫來存儲Bugzilla的數(shù)據(jù),你可以通過命令行或者phpmyadmin這樣的web管理工具來進行設置,下面我們使用MySQL的命令行來完成設置。
#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;
上面完成了在本機的MySQL上創(chuàng)建供bugzilla使用的數(shù)據(jù)庫 (這里的更換成您要使用的數(shù)據(jù)庫名稱),同時添加用戶和口令,該用戶對具有所有權限。
在這里,Michael使用的是bugzilla,和均為bugzilla
另外,為了讓MySQL支持bugzilla的較大附件存儲,還需要修改MySQL的默認設置,bugzilla默認支持的附件大1M,修改方式如下:
#vi /etc/my.cnf
在[mysqld]段中加入下面一行
max_allowed_packet=1M