开发过大型项目的朋友一定都接触过这样几类工具:需求管理、代码和版本控制和Bug跟踪工具。比较常见的需求管理是ClearQuest,代码和版本控制工具中用多的是VSS和CVS,而Bug跟踪工具出名的一定是bugzilla了。
Bugzilla是Mozilla团队为我们奉献的一款免费的的bug跟踪工具,它完全基于web方式,安装简单、运行方便快捷,可以使用MySQL数据库或者Ldap进行存储,系统非常灵活,有强大的可配置能力,并且可以自动发送Email进行通知和提醒,生产灵活方便的各种报表、图形,还能支持标准的XML导入和导出。
作为一个产品缺陷的记录及跟踪工具,它能够为你建立一个完善的Bug跟踪体系,同时,由于在需求管理和bug追踪之间有很多流程和特点的相似,Bugzilla同时还可以用来实现入门级的需求管理,一个需求如同一个bug一样,从提出到接收、处理、反馈、验证整个过程都可以在bugzilla中得到体现和处理,并且可以和bug一样对应到产品和相关人员,Michael原来在yahoo工作的时候,公司是使用了bugzilla作为需求和bug管理的平台,感觉非常方便实用。
更多的Bugzilla的特点在这里不多说了,Michael在这里主要讲述一下在FreeBSD6.1环境下如何快速安装配置Bugzilla,为您的项目提供需求和bug管理支持。
Michael这里提到的安装有个前提,那是假设您的系统上已经成功安装了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版,这个版本基本上是当前官方发布的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数据库、图形报表、邮件、XML导入导出的支持
#make install clean
以上完成基本的安装,接下来要进行一些设置才能终使用。
设置MySQL
我们需要设置使用MySQL数据库来存储Bugzilla的数据,你可以通过命令行或者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上创建供bugzilla使用的数据库 (这里的更换成您要使用的数据库名称),同时添加用户和口令,该用户对具有所有权限。
在这里,Michael使用的是bugzilla,和均为bugzilla
另外,为了让MySQL支持bugzilla的较大附件存储,还需要修改MySQL的默认设置,bugzilla默认支持的附件大1M,修改方式如下:
#vi /etc/my.cnf
在[mysqld]段中加入下面一行
max_allowed_packet=1M