温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统下怎么安装Bugzilla来追踪程序开发中的bug

发布时间:2021-08-05 22:10:54 来源:亿速云 阅读:113 作者:chen 栏目:系统运维

本篇内容主要讲解“Linux系统下怎么安装Bugzilla来追踪程序开发中的bug”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统下怎么安装Bugzilla来追踪程序开发中的bug”吧!

Bugzilla是Mozilla公司提供的一款开源的免费Bug(错误或是缺陷)追踪系统,用来帮助你管理软件开发,建立完善的BUG跟踪体系。
Bugzilla是一个搜集缺陷的数据库。它让用户报告软件的缺陷从而把它们转给合适的开发者。开发者能使用bugzilla保持一个要做事情的优先表,还有时间表和跟踪相关性。不是所有的"bugs"都是软件缺陷。一些数据库中的内容是作为增强的请求(RFE)。一个RFE是一个严重级别字段被设为"enhancement"的"Bug".人们常说"bug",实际上意思是Bugzilla中的记录,所以RFEs经常被称作bug。

安装方法:
1. 下载Bugzilla源代码,这个不多说了。

2. 安装一些必要的软件包:

代码如下:


yum install perl-CPAN  
yum install mod_perl  
yum install mod_perl-devel  
yum install fcgi-perl


3. 安装必要的perl模块并检查安装

代码如下:


cd bugzilla  
perl install-module.pl --all  
./checksetup.pl


当然,这其中还涉及到MySQL的用户名、密码之类的交互式输入配置。

4. 启动fastcgi wrapper程序,从这里(fastcgi-wrapper)下载,并运行即可。

5. 修改Nginx配置文件,使其可以正常处理perl CGI程序,我的一个修改如下:

代码如下:


diff --git a/nginx.conf b/nginx.conf  
index 8730c99..114d9d8 100644  
--- a/nginx.conf  
+++ b/nginx.conf  
@@ -83,10 +83,20 @@ http {  
#       config_apps_end  
 
         location / {  
-            if ( !-f $request_filename ) {  
-                proxy_pass          http://jboss8080;  
-                 break;  
-            }  
+            root   /usr/local/nginx/html;  
+            index  index.html index.htm index.cgi index.pl;  
+           # if ( !-f $request_filename ) {  
+           #     proxy_pass          http://jboss8080;  
+           #      break;  
+           # }  
+        }  
+  
+        location ~ \.pl|cgi$ {  
+            root           html;  
+            fastcgi_pass   127.0.0.1:8999;  
+            fastcgi_index  index.pl;  
+            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  
+            include        fastcgi_params;  
        }  
 
        error_page    500 502 503 504  /50x.html;


6. 最后,改好bugzilla目录的权限,并重启nginx即可,如:

代码如下:


cd /usr/local/nginx/  
chown nobody:nobody html -R  
service nginx restart


由于缺少一些软件包,在安装过程中可能出现的问题和解决方案如下:

代码如下:


[root@jay-centos html]# perl install-module.pl –all  


Can’t locate CPAN.pm in @INC (@INC contains: /usr/local/nginx/html/lib/x86_64-linux-thread-multi /usr/local/nginx/html/lib /usr/local/nginx/html /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/nginx/html/Bugzilla/Install/CPAN.pm line 24. 
BEGIN failed–compilation aborted at /usr/local/nginx/html/Bugzilla/Install/CPAN.pm line 24. 
Compilation failed in require at install-module.pl line 21. 
BEGIN failed–compilation aborted at install-module.pl line 21. 
解决方案:

代码如下:

yum install perl-CPAN

Can’t find mod_perl installed 
The error was: Can’t locate mod_perl2.pm in @INC (@INC contains: /usr/local/nginx/html/lib/x86_64-linux-thread-multi /usr/local/nginx/html/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 149. 
解决方案:

代码如下:

yum install mod_perl

Can’t locate ModPerl/MM.pm in @INC (@INC contains: /usr/local/nginx/html/lib/x86_64-linux-thread-multi /usr/local/nginx/html/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 60. 
解决方案:

代码如下:

yum install mod_perl-devel

代码如下:


[root@jay-centos html]# ./fastcgi-wrapper


Can’t locate FCGI.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./fastcgi-wrapper line 3. 
BEGIN failed–compilation aborted at ./fastcgi-wrapper line 3.
解决方案:

代码如下:

yum install fcgi-perl

Bugzilla的基本使用方法:
1、 用户登录及设置流程:
打开浏览器, 进入 Bugzilla 主页面。
进入主页面后,点击【新建帐号】,进入注册页面。
在注册页面中输入 E-Mail 和 真实姓名(为了统一,这里我们都使用计算机名) ,然后,点击【 Create Account 】,随后,你将收到一封包含初始密码的 E-Mail 。
在收到 E-Mail 之后,点击【登录】,在帐号栏输入注册时使用的 E-Mail 地址,在密码栏输入邮件里通知的初始密码,然后,点击【 Login 】。
如忘记密码,在登陆页面中输入注册用户名,点击【 Submit Request 】 , 根据收到的邮件进行重新设置密码。
成功登录后,点击【 Edit 属性】 -> 【帐号设置】,进行密码修改。
点击【 Edit 属性】 -> 【邮件设置】,进行邮件通知设置。
点击【 Edit 属性】 -> 【权限】,进行权限查询。
2、 BUG 处理流程
• 测试人员或开发人员发现 bug 后,判断属于哪个模块的问题,填写 bug 报告后,系统会自动通过 Email 通知项目组长或直接通知开发者。
• 项目组长根据具体情况,重新 reassigned 分配给 bug 所属的开发者。
③ 开发者收到 Email 信息后,判断是否为自己的修改范围 .
1 ) 若不是 , 重新 reassigned 分配给项目组长或应该分配的开发者。
2 ) 若是,进行处理, resolved 并给出解决方法。(可创建补丁附件及补充说明)
④ 测试人员查询开发者已修改的 bug ,进行重新测试。(可创建 test case 附件)
1 ) 经验证无误后,修改状态为 VERIFIED 。待整个产品发布后,修改为 CLOSED 。
2 ) 还有问题, REOPENED ,状态重新变为“ New" ,并发邮件通知。
⑤ 如果这个 BUG 一周内一直没被处理过。 Bugzilla 就会一直用 email 骚扰它的属主,直到采取行 动。管理员可以设定最迟采取行动的期限,比如说 3 天,系统默认为 7 天。
3、 Bug 的提交过程
点击 【新建】 —〉选择发现的 bug 所在的产品名称。
在选择的产品 bug 提交页面中,选择或者输入 bug 信息。
◎模块:点“模块”两个字,可以查看关于这个产品的模块的详细信息。
◎平台、操作系统:可以根据发现 bug 的实际情况来选择,如果确定这个 bug 可以发生在所有的平台,选择 all 好了!
◎优先级: P1 至 P5 优先级逐渐减弱。
◎严重级: blocker 到 enhancement 严重程度降低。
Blocker: 阻碍了项目开发或者测试的继续进行。
Critical: 冲突,数据丢失和严重的内存泄漏等问题。
Major: 较大的功能缺陷。
Minor: 较小的功能缺陷。
Trivial: 拼写、对齐类的错误。
Enhancement: 需要改进的。
初始状态:开发人员的默认状态为“ unconfirmed”( 这个要由管理员设置,参见管理员操作指南 ) ,测试人员或者管理员此处为可选状态: unconfirmed 和 new.
Assigned to: 为空时默认为管理员指定的 owner, 也可手工制定。
CC: 可为多人,需用 " , " 隔开。
URL: bug 的定位(可选)。
注释:是对 bug 的概述(必须填写)。

Desription 中要详细说明下列情况:
1 ) 发现问题的步骤
2 ) 执行上述步骤后出现的情况
3 ) 期望应出现的正确结果
关键字:单击“关键字”三个字,会显示管理员已经设定的关键字,选择其一,便于以查询。注意:此处不可以随意添加,必须使用已经存在的关键字才好。另外,如果管理员没有创建关键字的话,那么此项缺省。
依赖:直接输入与当前 bug 有依赖关系的 bug 的编号。简单地说,比如说这里输入“ 3 ”,那么就是说当前提交的 bug 有依赖关系,不是由于 3 导致了当前 bug ,就是当前 bug 导致了 bug3 。
确认无误后,“ commit”!
提交之后,系统会提示: bug 已经提交。在此页面的下半部分,会再次显示刚才提交的 bug 的详细信息,你可以在这里进行修改,重新 commit, 也可以在此增加新的附件或是附加说明来进一步说明 bug 。
4、对于 Bug 的不同处理情况
4.1 Bug 的属主 (owner) 处理问题,提出解决意见及方法。
给出解决方法并填写附加说明( Additional Comments ),还可创建附件(如:更改提交单)。
填表提示:
FIXED 描述的问题已经修改, 该 bug 已经修复并检查过,源文件已经检入 CVS 库。
INVALID 描述的问题不是一个 bug ( 输入错误后,通过此项来取消 )
WONTFIX 描述的问题将永远不会被修复。
LATER 描述的问题将不会在产品的这个版本中解决。
DUPLICATE 描述的问题是一个存在的 bug 的复件。
WORKSFORME 所有要重新产生这个 bug 的企图是无效的。如果有更多的信息出现,请重新分配这个 bug ,而现在只把它归档。
4.2 项目组长或开发者重新指定 Bug 的属主。
① bug 不属于自己的范围,可置为 Assigned , 等待测试人员重新指定。
② bug 不属于自己的范围,但知道谁应该负责,在 Reassign bug to 的输入框中 直接输入被指定人的 Email 。  
③操作结果:此时 bug 状态又变为 New ,此 bug 的 owner 变为被指定的人。
4.3 测试人员确认开发人员报告的 Bug 是否存在 .
查询状态为“ Unconfirmed" 的 Bug,
测试人员对开发人员提交的 Bug 进行确认,确认 Bug 存在。
具体操作:选中“ Confirm bug(change status to New)" 后,进行 commit.
操作结果:状态变为“ New".
4.4 测试人员验证已修改的 Bug
① 测试人员查询开发者已修改的 bug ,即 Status 为 "Resolved", Resolution 为 "Fixed". 进行重新测试。(可创建 test case 附件)
② 经验证无误后,修改 Resolution 为 VERIFIED 。待整个产品发布后,修改为 CLOSED 。
  若测试之后发现还有问题, REOPENED ,状态重新变为“ New" ,并发邮件通知。
5、查询
登录 Bugzilla 缺陷跟踪系统后,点击查询,可以按照指定的一个或者多个查询条件进行查询。
摘要 (Summary) : 下拉列表框选择查询规约。在其后的输入框中输入包含的信息,此信息的指定与提交bug时的注释信息相一致。
产品 (Product) :选择所要查找的 bugs 所在的产品。
模块 (Component) :选择 bugs 所在的模块。
版本 (Version) :选择 bugs 版本。
注释 (Comments) :可在下拉列表框中选择将要输入的包含信息的规约,其后指定包含的信息。此信息的指定根据提交 bugs 时所填写的描述信息。
URL : 指定关于 bugs 所在的 URL 。
关键字 (Keywords) :指定包含或不包含该关键字的 bugs 。每个 bug 可以被指定关键字, bugs 报告人或者管理员可以编辑关键字。
状态 (Status) :选择 bugs 状态。
处理 (Resolution) :选择 bugs 处理的结果。
严重性 (Severity) :选择 bugs 的严重级别。
优先级 (Priority) :选择 bugs 的优先级别。
硬件 (Platform) :选择存在 bugs 程序运行的平台。

到此,相信大家对“Linux系统下怎么安装Bugzilla来追踪程序开发中的bug”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI