收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网 QQ书签 更多 Bookmark and Share
显示标签为“bugzilla”的博文。显示所有博文
显示标签为“bugzilla”的博文。显示所有博文

2009年4月5日星期日

什么叫目大无光 --- Mylyn连接Bugzilla

yn连接Bugzilla这么简单的一回事,拖了2个礼拜(其实做得时间都是晚上业余时间,也就3、4个晚上)。

一开始下载一个最新的Bugzilla3.3.3版本,不行,换成2.22.7版本的bugzilla,可以了。

做软件的都有版本崇拜,都想用最新的版本 ---- 2.22.7和3版本比起来,不能自定义流程是比较大的缺陷,一直在研究为什么3.3.3版本不可使用。网上的资料也少,但是确实还是找到了一些,可能的意思是说3.3.3使用了服务器端推的技术(确切的忘了),现在Mylyn不支持。

今天又仔细的看了一下Mylyn创建Task Repositiory,上面已经明显的说了支持bugzilla 2.18 -- 3.2
当初还在自我得意,Mylyn支持 2.18.3.2版本,现在用bugzilla3.3.3,部分功能也是支持的,没有仔细看,人家说的不是一个版本,是一个版本范围,都是粗心惹的祸。






2009年4月1日星期三

Bugzilla的workflow

bugzilla3.X版本开始有了workflow,可以自己设定工作流程,按照自己的理解,把原来bugzilla的几个工作状态给删除,添加了一些工作状态,感觉还可以。

有一个问题还是没有解决:从需求到开发,一个需求要分解成许多个功能点,或者涉及到不同的程序,每个功能点再分配给不同的人、小组完成,等他们这些功能点都完成了,拼起来才算完成一个需求,不知道在bugfree中如何将一个任务分解成多个任务(主要能看出任务之间的关系,否则和自己手工写几个任务没有什么差别)。如果有了这个功能,简单的开发流程就可以通过bugzilla的workflow的方式进行了

2009年3月31日星期二

Bugzilla(3.2的文档)管理--必须的参数设置

参数分成几类,有左边的菜单管理。

必须要设置的:
 有一些核心需要的参数在bugzilla安装时就要求。这些参数在一个新的bugzilla能够使用之前必须被设置。

maintainer:安装时就需要的,维护bugzilla的人员email地址。这个地址不需要是bugzilla的账号
urlbase:定义full qualified domain name以及bugzilla安装的web server path
docs_urlbase:定义bugzilla文档的路径
sslbase: 定义通过HTTPS方式访问bugzilla的路径
ssl: 定义档bugzilla强制HTTPS连接。选项包括:always、never、authenticated session
cookiedomain:定义bugzilla cookies的域名。典型的留空白。如果使用多个主机名连到同一个            webserver,这个参数就有用了。
cookiepath: 定义路径,和web server root关联的,bugzilla cookies将被限制的。
   如:如果urlbase位:http://www.foo.com/bugzilla/,cookiepath将被设置成/bugzilla/.
           如果设置成'/', 这个服务器上或虚拟主机上的所有的站点都可以独到bugzilla的cookie
timezone: 服务器的timezone。the timezone isdisplayed with timestamps。if this parameter is       left blank, the timezone is not display.
utf8: 确定是否使用UTF-8编码。新安装的bugzilla应该都选择true,避免编码问题。
     已经存在的database可以设置成true,当运行脚本contrib/recode.pl后
      如果将这个参数从off设置成on,必须立刻重新运行 checksetup.pl
shutdownhtml:
announcehtml:将在bugzilla的每个html页面的顶部显示。文字不需要被任何tag包装。最好的方式是用div tag将文字包装起来。CSS中的任何属性都可以使用。
proxy_url: 如果bugzilla安装在proxy后面,输入proxy信息,使得bugzilla能够通过internet被获取。如果proxy要求认证,使用:http://user:pass@proxy_url/方式访问
upgrade_notification:如果一个新版本的bugzilla可用,确定zaibugzilla首页是否通知


bugzilla2&3一个差别

同时安装了Bugzilla2&3,发现在管理员,bugZilla3多了一个Bug Status Workflow的功能,定义各个流程。

2009年3月30日星期一

Mylyn+tasktop+Bugzilla+php+MySQL+Apache安装的一些技术点

1. Eclipse中安装插件:

a)可以通过Update的方式,从网上下载,直接安装在Eclipse的plugins和features目录中
b)下载插件的安装包,自己copy到plugins和features目录中
c)通过links方式安装:
在Eclipse目录中,创建一个links目录,里面的所有文件Eclipse都视为插件链接文件,不区分后缀。
文件内容格式: path=插件的目录
插件的目录格式:包含eclipse目录,eclipse目录再包含plugin和features目录

plugins目录:包含插件的jar文件
features目录:插件的加载和升级说明目录

d)分析从网上的升级目录:
目录中包含site.xml,升级首先读取这个文件,这个文件中说明了这个插件使用到多少features。
下载每个features的jar文件,分析其中的feature.xml文件,说明了feature使用到什么jar文件、以及相关联的jar文件,包括下载的目录。
如果不多自己手工下载一下就可以了,
如果关联的较多,可以在可以联网的机器上下载后,将下载的内容复制到不能上网的机器上

2.MySQL
在windows机器上安装的,没有什么好说的
用到了创建数据库:create database dbname
创建用户授权:一次性完成的:
grant all privileges on bugs.* to 'bugs'@'*' identified by 'bugs'
一直没有好好去看的:
创建用户后,还要用 grant all privileges on bugs.* to 'bugs' identified by 'bugs'重新创建一次
不知道bugs用户和bugs@localhost有什么不同,还是我什么地方理解有问题

3. Perl的安装
  从ActiveState下载Perl,有些bugzilla需要的包还需要进行perl升级,通过
  ppm install package的方式从网上进行升级
  有些package在activestate上没有,还需要加入其他的repository,如:
  ppm repo add theory58S http://cpan.uwinnipeg.ca/PPMPackages/10xx/

  如果连不到网,可以将已经升级好的perl目录直接复制过去,
  或者下载package包,按照文件方式升级(主要的问题是关联的包太多的话,很麻烦)

4. Apache + Perl
   apache连接perl,需要mod_perl
   缺省下载的bugzilla文件都是按照linux/unix下的方式生成的文件,在cgi和pl文件头部,都是指定#!/usr/bin/perl,放在windows下apache运行有问题,会生成权限错误。
  需要把cgi和pl文件头部的这一句话修改成本机上perl.exe的绝对路径,使用批量替换就可以了,替换好后apache执行perl没有问题
  --- 问题发现: apache安装后,自带的cgi-bin下的perl样例是好的,但是bugzilla的不可以访问,发现就是这个问题照成的

5.Apache2.2的目录配置
   不知道是否所有的apache都是这样(已经很长时间没有修改过apache配置了),在配置Directory中,要把配置的目录最后带上'/',apache在寻找文件是,是将配置的Directory直接加上URL中的文件名,如果配置的时候最后不带'/',则访问不到文件,出错

6.Bugzilla:
   用3.3.3版本的bugzilla,Mylyn+tasktop能够将配置的工程、模块导入,但是查询buglist无法完成,出错 --- 用2.22.7的bugzilla好的
   bugzilla安装,通过checksetup.pl --check-modules方式先检查一下安装的环境。
   再使用checksetup.pl生成localconfig文件
   手工修改localconfig文件后,再运行checksetup.pl在数据库中生成对应的表。





2009年3月25日星期三

Bugizlla3.3.3安装

Bugizlla3.3.3安装

安装过程:
1. Perl5.8.1或以上
2.安装数据库引擎
3.Web Server
4.安装bugzilla
5.安装Perl模块
6.安装邮件发送引擎(Sendmail8.7或以上,或者至少和这个版本兼容的MTA)
7.上述的所有项配置

1. 安装Perl
从 http://www.activestate.com/activeperl 下载activePerl,5.10的版本

2. 安装数据库引擎:
安装MySQL5.1,内部本来也有Oracle9i的数据库
MySQL要4.1.2或以上的版本,5.1可用了
Oracle要10.02.0或以上的版本,内部的Oracle9i不可用

3. Web Server
在Linux下使用Apache,Windows下使用IIS,为了统一,在Windows下也使用Apache。
Apache采用2.2.11-openssl-0.9.8i版本

4.安装Bugzilla
配置的时候有以下问题:
a).配置的目录中,不能带有中文名称,有中文名称apache启动发生问题
b).配置的目录,必须后面要带有'/' -- Directory配置和Alais配置, 否则Apache在访问的时候,会直接在目录后面加上访问的页面名字,如果不带'/‘,造成目录和文件名中的分隔符没有了

5.安装Perl模块
通过./checksetup.pl --check-modules 检查Perl安装情况 --- windows上运行情况会所有不同,看Perl安装的情况如何。
这个会把bugzilla需要的perl module全部打出来,以及机器上的安装情况
如果缺少的模块,需要安装:
在Linux中: perl -MCPAN -e ’install ""’
在Windows中: ppm install ""

安装好ActivePerl,还需要几个必须的更新:
ppm install TimeDate
ppm install DateTime
ppm install DateTime-TimeZone
ppm install Template-Toolkit
ppm install Email-Send
ppm install Email-MIME
ppm install Email-MIME-Modifier

在外部机器上,可以直接通过上述的方式进行更新,内部的网络不能连接出去,只有把升级程序拿进来才可以:
在网址: http://ppm4.activestate.com/ 上面选择ActivePerl5.10 on windows(用的是XP机器)
进入:http://ppm4.activestate.com/MSWin32-x86/5.10/1000/
这个上面有一个package-all.xml文件,记录了所有的package,拿下来分析一下:
譬如需要TimeDate

Graham Barr AUTHOR>
Parsing of date stringsABSTRACT>



........

TimeDate的版本是1.16,下载的目录是:当前URL(http://ppm4.activestate.com/MSWin32-x86/5.10/1000/)/G/GB/GBARR/TimeDate-1.16.tar.gz

东西还是太多,而且有相互关联的,既然是Perl,老规矩,从外部更新好,把更新的目录整个端到内部来,一样可用。---- 更新的时候,有几项在网上报:“ppm install failed: Can't find any package that provides Template-GD”,暂且不管。

基本必须的更新库在ActiveState上都有,很快的更新完了,
有几项可选的更新在ActiveState上没有,需要加上 ppm repo add theory58S http://cpan.uwinnipeg.ca/PPMPackages/10xx/ (ppm说的)
加好后,大多数都能更新安装了,最后还是有3项没有 ,看来得找另外的更更新库了。

7. 配置:
perl库更新好了以后,再次检查,这次通过 checksetup.pl,不带参数了,会生成localconfig文件,包含bugzilla的一些基本的参数。这个文件还需要手工修改,譬如:
The following variables are new to ./localconfig since you last ran
checksetup.pl: create_htaccess, webservergroup, db_driver, db_host, db_name, db_user, db_pass, db_port, db_sock, db_check, index_html, cvsbin, interdiffbin, diffpath, site_wide_secret

主要是将数据库修改成正确的配置,在Mysql上创建对应的用户和库
如:
create database bugs;
grant all privileges on bugs.* to 'bugs'@'%' identified by 'bugs' ;
不仅创建用户test,而且创建了scehma : test

配置MySQL:

*设置附件的尺寸:
[mysqld]
# Allow packets up to 4MB
max_allowed_packet=4M #这个大小自己根据实际环境确定

*允许小单词的全文搜索
By default, words must be at least four characters in length in order to be indexed by MySQL’s full-text indexes
[mysqld]
# Allow small words in full-text indexes
ft_min_word_len=2

*Permit attachments table to grow beyond 4GB
By default, MySQL will limit the size of a table to 4GB. This limit is present even if the underlying filesystem has no such limit.
you should run the MySQL
command-line client and enter the following, replacing $bugs_db with your Bugzilla database name (bugs by default):

mysql> use $bugs_db
mysql>
ALTER TABLE attachments
AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;

The above command will change the limit to 20GB. Mysql will have to make a temporary copy of your entire table to
do this. Ideally, you should do this when your attachments table is still small.
Note: This does not affect Big Files, attachments that are stored directly on disk instead of in the database.


数据库配置好了,再次运行 checksetup.pl,会往数据库中建表,检查等工作,以及大量的配置工作。
You may rerun checksetup.pl at any time if you wish.


配置Apache:
To check whether your web server is correctly configured, try to access testagent.cgi from your web server. If "OK" is displayed, then your configuration is successful.

You can run testserver.pl to check if your web server serves Bugzilla files as expected.

1. 增加bugzilla目录:

AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit


2.配置mod_perl
PerlSwitches -I/var/www/html/bugzilla -I/var/www/html/bugzilla/lib -w -T
PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl