免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 17800 | 回复: 13
打印 上一主题 下一主题

[原创] 正确使用JIRA/Bugzilla做缺陷管理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-05 22:13 |只看该作者 |倒序浏览
Written By: Wwashington AT ChinaUnix
Publish Date: 2006/09/05

说明:其实以前工作中也用过缺陷管理系统,不过那个是公司自己开发的。
离开新太集团后,自己曾经试图找一些好的替代方案,ClearQuest 很有名
但是太贵而且复杂,不利于中小企业迅速从生存向规范转移。

这里推荐使用两个工具,一个是基于 Java 的商业软件 JIRA,一个是基于
Perl 的免费软件 Bugzilla。已经用了比较长的时间了,觉得效果非常好,
这次先补充一些错误解决方案,将来有空再写完整的指南吧。

Part A. 参考网址

1) 关于选型

http://www.blueidea.com/tech/program/2006/3479.asp
http://www.blueidea.com/tech/program/2006/3479_2.asp
http://www.phpchina.cn/jiaocheng/html/supter/2006/0818/1424.html
如何用正确的方法来写出质量好的软件的75条体会 [转]

2) 关于 JIRA

http://oneboy.org/?p=69
elliott's Blog -- JIRA安装批南(MYSQL)

http://www.blogjava.net/lucky/archive/2006/05/01/44301.aspx
使用 JIRA 搭建企业问题跟踪系统

http://www.360doc.com/showWeb/0/3/178896.aspx
伊莲的文章--JIRA一出,谁与争锋

http://dog.xmu.edu.cn/modules.php?op=modload&name=News&file=article&sid=253
JIRA。。。忘了bugzilla吧。

3) 关于 Bugzilla

http://www.bugzilla.org/installation-list/
Bugzilla 用户名单,很多知名企业,其中以开源系统为主

http://cs.cuc.edu.cn/linweiguo/archives/000044.html
Win2000下Bugzilla安装实录 (作者:Jackey)

http://www.chinahtml.com/programming/4/2005/cgi-11343023012506.shtml
在 Win32 下安装 Bugzilla (Good!)

http://www.yuanma.org/data/2006/0808/article_1334.htm
安装bugzilla (作者 dreamstone)

http://blog.donews.com/ymliu888/archive/2005/12/13/656701.aspx
解答:为什么在应用了Bugzilla汉化包后,原来存在的汉字变成了乱码?

http://blog.donews.com/ymliu888/archive/2005/12/14/658121.aspx
关于Bugzilla2.20发邮件以及邮件乱码的问题

4) 下载 Bugzilla

http://www.bugzilla.org/download/
Download :: Bugzilla

http://sourceforge.net/projects/bugzilla-cn/
http://sourceforge.net/project/showfiles.php?group_id=75477
Bugzilla 的汉化包和模块

bugzilla-2.20-cn-1.0.zip
BugzillaModules-2.20.zip

http://landfill.bugzilla.org/ppm/
bugzilla-bundle.zip

http://download.pchome.net/php/dl.php?sid=15654
Mail Direct Pro 2.3.0.0

http://crackdb.org/index_1_o_1.html
Mail Direct Pro v2.3.0.0-SSG

http://www.glob.com.au/sendmail/
Fake Sendmail 1.9

5) 关于 Perl

http://www.superdown.com/soft/947.htm
ActivePerl 5.8.8 Build 819

http://www.perlchina.org/conf/slides/cnhacktnt_PerlUnicodeIn5Min.ppt
讨论 Perl 和 Unicode 的关系

http://www.cnbruce.com/blog/showlog.asp?cat_id=27&log_id=690
http://blog.csdn.net/fmddlmyy/archive/2005/05/04/372148.aspx
http://dev.csdn.net/develop/article/69/69883.shtm
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词

http://www.hongen.com/pc/program/tutors/perl/perl0003.htm
--CGI编程--Perl标量的操作符--

http://net.pku.edu.cn/~yhf/perlstep/perlstep6.html
Perl程序设计中的函数(子程序)

http://www.cnblogs.com/netcobra/archive/2004/04/16/6322.html
[转移]安装 BugZilla 时 Perl 模块的安装

Part B. 补充事项

1) JIRA 的管理比 Bugzilla 要强一些,使用也比较方便,本身已经
   支持多国语言(包括中文)。可惜,这个是要花钱的。虽然网上有
   注册机,如果没有真正购买,将来遭到版权局的调查还是会被罚。
   如果公司有预算,建议购买 JIRA,否则推荐用免费的 Bugzilla。

2) 上面那篇《JIRA安装批南》漏了讲一点,为了方便支持中文,在
   安装 MySQL 的时候要选 Custom,数据库的默认类型要选 UTF8。
   这个问题,对于 Bugzilla 也是一样,建议用 UTF8 来存储中文。
   如果不指定 UTF8,要么无法正确显示中文,要么不能创建 Bug。

3) Bugzilla 的 Perl 包安装,其实是有很多简便的方法的,没必要
   自己编译,而且发送邮件并不用修改大量 Code,只要装两个东西
   就可以了。一是 Mail Direct Pro 作为本地 SMTP 服务器,注意
   不要用最新的 2.3.1.0,这个版本破解不完全,显示未注册。二是
   Fake Sendmail 作为 sendmail 程序,必须装在跟 Bugzilla 同一
   个盘。例如 Bugzilla 在 H:\Server\Webz\Site\bugzilla\2.20.2
   那么,sendmail 就应该装在 H:\Usr\Lib,并且配置 ini 文件。

   需要注意的是,必须配置好 SMTP 转发服务器。Mail Direct Pro
   是支持中文的,选"工具-->配置-->SMTP转投-->添加",如果你的
   SMTP 服务器如 smtp.21cn.com 需要验证,则必须填写帐号和密码。
   在"如果发送失败则转投"这个选项上打勾,保证邮件可以正确发送。
   当某些邮件服务器有特殊限制时,转发到外网专业 SMTP 较有保障。

4) Bugzilla 2.20 有汉化版,可以用于 2.20.2,但最新版2.22还没
   汉化。而且汉化后还有一些问题,主要是发 Mail 不正常。对于
   网页和邮件的乱码,请大家使用 UTF-8 汉化包,并参考汉化作者
   的 Blog 里的解答,里面已经提到怎样消除这些乱码。我这里只是
   补充一个目前翻遍整个 Google 都找不到答案的问题。

   在汉化版里 sendmail 是表面正常,实际上并没有发出。经过我用
   WinHex 研究 debug 文件,发现汉字编码是 UTF-8,注意:如果用
   UltraEdit 按 Ctrl-H 则会自动将文档转为 UCS-2 (Unicode)。由
   于里面的 From 向下跑了好几行,所以 sendmail 报告没有发信人。
   通过查找 Bugzilla 的资料,发现是在 Token.pm 里处理忘记密码,
   例如 H:\Server\Webz\Site\bugzilla\2.20.2\Bugzilla\Token.pm。

   错误现象:

   Bugzilla 2.20.2 汉化版的 sendmail 失败,错误报告如下所示:
   exception message : Message is missing sender's address.

   解决方案:

   通过使用 index 和 substr 找到正确的 From 字串。首先是用
   UltraEdit 打开 Token.pm 找到 sub IssuePasswordToken 位置,
   在最后一句 Bugzilla::BugMail::MessageToMTA($message); 的
   前面插入下面这几句,问题就可以消除,真正发出邮件。

sub IssuePasswordToken {
...
# --------- 插入部分开始 --------------
    my $tmpmsg = $message;
    my $msgadr = index($tmpmsg,'From');
    $message = substr($tmpmsg,$msgadr);
# --------- 插入部分结束 --------------
   Bugzilla::BugMail::MessageToMTA($message);
#   Bugzilla::BugMail::MessageToMTA($message."$msgadr");
## Notes: String result: "$msgadr"=13, '$msgadr'=$msgadr
## See the . symbol in Perl means String A plus String B
}

Part C. 错误记录

1) 不用sendmail,直接smtp(本机安装Mail Direct Pro),注册失败
>553 From <postmaster@Welcome>, message blocked.

2) 直接指定sendmail用21cn,则From必须是21cn.com,否则会报错
06-08-27 21:52:25 : From <bugzilla-daemon@21cn.com>, message
         blocked, sender not exist or has no privilege..<EOL>

06-08-28 02:25:49 : From <bugzilla-daemon@localhost.com>,
         message blocked.<EOL>

3) 把sendmail设置为localhost,用smtp(本机Mail Direct Pro).
250 Requested mail action okay, completed.  
Message-ID=<7B939171977752.09550@receive2.inner-21cn.com>
Mail delivered successful.

[[i] 本帖最后由 wwashington 于 2006-9-14 23:45 编辑 [/i]]

论坛徽章:
0
2 [报告]
发表于 2006-09-05 22:31 |只看该作者
Part D. 关于 Unicode

或许有些朋友对用 Perl 进行 Unicode 编码感兴趣,补充两个小程序。
在忘记密码的环节里,邮件里的标题依然是乱码,这里提供了修正版。

1) 推荐代码

type u1.pl {执行时候请用 perl u1.pl 你好}
<----------
use Encode;
use Unicode::UCD 'charinfo';
$str=decode('gb2312',shift);
# 由于系统环境为gb2312,所以cmd后的中文参数也为
# gb2312编码,因此告诉perl先把shift得到的参数按
# gb2312解码成unicode

$a=charinfo(unpack 'U',$str);
for(keys %$a)
{
        print "$_ ==> $a->{$_}\n";
}
---------->

type u2.pl {执行时候请用 perl u2.pl 你好}
<----------
use Encode;
use Unicode::UCD;
$str=decode('GBK',shift);
# 由于系统环境为gb2312,所以cmd后的中文参数也为
# gb2312编码,因此告诉perl先把shift得到的参数按
# gb2312解码成unicode

$str = encode('MIME-Q', $str);
print $str;
---------->

2) 运行结果

H:\Usr\bin>perl u2.pl 系统更改密码请求
=?UTF-8?Q?=E7=B3=BB=E7=BB=9F=E6=9B=B4=E6=94=B9=E5=AF=86=E7=A0=81=E8=AF=B7?=
=?UTF-8?Q?=E6=B1=82?=
H:\Usr\bin>perl u2.pl 系统更改密码请
=?UTF-8?Q?=E7=B3=BB=E7=BB=9F=E6=9B=B4=E6=94=B9=E5=AF=86=E7=A0=81=E8=AF=B7?=
H:\Usr\bin>perl u2.pl 请求
=?UTF-8?Q?=E8=AF=B7=E6=B1=82?=

3) 邮件模版

从上推断出 template\cn\default\account\password\forgotten-password.txt.tmpl

[% PROCESS global/variables.none.tmpl %]

[% expiration_ts = token_ts + (max_token_age * 86400) %]
From: bugzilla-admin-daemon
To: [% emailaddress %]
Subject: [% terms.Bugzilla %]=?UTF-8?Q?=E7=B3=BB=E7=BB=9F=E6=9B=B4=E6=94=B9=E5=AF=86=E7=A0=81=E8=AF=B7=E6=B1=82?=
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0

系统更改密码请求:

你(或者是其他的某个人)申请改变你的[%+ terms.Bugzilla %]密码。
如果确认这个改变,请访问下面的链接:

[%+ Param('urlbase') %]token.cgi?t=[% token FILTER url_quote %]&a=cfmpw

如果你不是这个请求的申请者,或者想放弃这个请求,请访问下面的链接:

[%+ Param('urlbase') %]token.cgi?t=[% token FILTER url_quote %]&a=cxlpw

如果你不进行任何操作,那么在 [%+ max_token_age +%] 日
(即 [%+ time2str("%H:%M on the %o of %B, %Y", expiration_ts) -%]) 后,
或者在你下次成功登录后,该申请将会自动失效。

Part E. MySQL 故障

使用 Bugzilla 连接 MySQL 时会告诉你数据库连接失败,其实这是因为密码算法更新了。

1) 参考网址

http://www.cnblogs.com/huqingyu/archive/2004/12/09/74989.html
http://www.kehui.net/html/article/39/39822.html

http://www.phpv.net/article.php/288
http://dev.mysql.com/doc/mysql/en/old-client.html

mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法

2) 解决方案

C:\> mysql -u root -p
mysql> \u mysql
mysql> select user,host,password from user;
mysql> set password for 'bugs'@'localhost' = old_password('bugs');
mysql> set password for 'bugs'@'%' = old_password('bugs');
mysql> select user,host,password from user;

Part F. Perl 故障

1) 参考网址

http://www.bugzilla.org/docs/win32install.html
http://blog.csdn.net/emu/archive/2005/03/15/320326.aspx
在apache下发布了bugzilla

couldn't create child process — 原来是无法创建子过程。看来是没有找到perl.exe。

2) 解决方案

把下面这个东西保存为 Perl.reg,然后鼠标双击导入就可以了。请注意修改
安装路径 [HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]。

<-----------------------------------------------------

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.cgi]
@="ActivePerl"

[HKEY_CLASSES_ROOT\.cgi\Shell]

[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI]

[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]
@="H:\\Server\\Lang\\Perl\\bin\\perl.exe -T"

----------------------------------------------------->

[[i] 本帖最后由 wwashington 于 2006-9-6 00:44 编辑 [/i]]

论坛徽章:
0
3 [报告]
发表于 2006-09-10 14:45 |只看该作者
针对Perl发邮件中文标题出错的问题,我另外写了一个专题来讨论,需要的可以看一下。

http://bbs.chinaunix.net/viewthread.php?tid=826054
[原创] 完美解决用Perl发送Bugzilla Mail

论坛徽章:
0
4 [报告]
发表于 2006-11-21 15:58 |只看该作者
bugzilla汉化完后出现:输入中文,提交后显示乱码,我至今无法解决。但是英文版的bugzilla就能输入中文正常显示,非常奇怪,到底是哪里的问题啊????

请高手回答

论坛徽章:
0
5 [报告]
发表于 2006-11-21 20:05 |只看该作者
原帖由 kaka_sun 于 2006-11-21 15:58 发表
bugzilla汉化完后出现:输入中文,提交后显示乱码,我至今无法解决。但是英文版的bugzilla就能输入中文正常显示,非常奇怪,到底是哪里的问题啊????

请高手回答

这个要看你的Charset是什么。在英文状态下,输入和显示中文用UTF-8。如果
把Bugzilla汉化了,那么应该选择UTF-8的方案,如果用GB2312方案就会可能
导致乱码。还有,最好把浏览器的"查看--编码"设置为"自动选择"。

因为没办法去现场查看问题,我只能告诉你这个基本的思路。此外,你可以访问
汉化作者的Blog,那里也有不少人提出问题,主要是常识性的错误。邮件标题的
汉化问题比较复杂,前面我已经说过写了专门的文章去分析和解决。

论坛徽章:
0
6 [报告]
发表于 2006-11-22 10:53 |只看该作者
谢谢! 我的bugzilla汉化是采用的UTF8
1 将 <Bugzilla安装目录>\Bugzilla\CGI.pm 的第55行改为 $self->charset('UTF-8') 改了
2 <Bugzilla安装目录>\template\cn 是将cn_UTF8.zip里的所有数据拷贝过去的
还需要做什么呢?

有人说我的mysql数据库有问题,我的数据库字符集请看:
| character_set_client            | utf8                                        |
| character_set_connection        | utf8                                        |
| character_set_database          | utf8                                        |
| character_set_filesystem        | binary                                      |
| character_set_results           | utf8                                        |
| character_set_server            | utf8                                        |
| character_set_system            | utf8                                        |

还需要怎么改呢?

论坛徽章:
0
7 [报告]
发表于 2006-11-22 13:22 |只看该作者
请问您的mysql版本是多少,安装时采用的参数是多少?

论坛徽章:
0
8 [报告]
发表于 2006-11-22 14:11 |只看该作者
原帖由 kaka_sun 于 2006-11-22 13:22 发表
请问您的mysql版本是多少,安装时采用的参数是多少?

当时用的是5.0.24a,目前最新的是5.0.27,没发生你所说的问题。
没什么需要特别注意的,就是安装的时候选Custom,字符集UTF8。
可能你装了其他软件干扰了系统字符显示,建议换台机器试一下。

论坛徽章:
0
9 [报告]
发表于 2006-11-22 14:58 |只看该作者
那就是说你的bugzilla安装在windows环境下了?
我的在AS4下

论坛徽章:
0
10 [报告]
发表于 2006-11-22 17:16 |只看该作者
能否把您的安装步骤分享出来啊,我实在太感谢您了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP