您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试工具 > 测试管理工具 > 正文

BUG管理系统运维记录(bugfree)

发表于:2017-01-09 作者:网络转载 来源:

  创建时间:     2013-06-18
  最新版本:    1.3
  制作者:       Teemo君
  release 1.1  2013-06-08     文档初生成
  release 1.2  2014-03-07      二次修改,添加维护记录
  release 1.3  2014-03-11      BUG管理系统,再次修改放在blog
  目的:  记录工作轨迹,积累工作经验.  通过知识积累形成自己的运维体系。
  工作过两间公司,都与开发打交道,需要为开发提供帮助,BUG管理系统是软件开发必不可少的应用,
  对软件生命周期直到很重要作用,运维必须掌握的应用之一。
  文档已经形成一年多,不会对目前公司造成危害,可以通过外网发布。
  需求:
  cc company 属于创新型通信行业公司,旗下开发加测试有n+2人,需要拥有自己的bug管理跟踪系统,以解决软件开发遇到的问题.  当前使用eazybug来维护,可是些软件需要收费和人员限制,出于成本和扩展性出发,需要选择开源软件在公司内服搭设服务器,以满足公司开发需求。
  经过之前比对zentao,qc,JIRA等项目软件,其中QC属于重量级,安装麻烦且还要收费,排除;JIRA软件也不错,反正也由于某种原因,排除;zentao 禅道管理软件轻量级,小清新,可是测试说有点复杂。最后通过比对软件易用性和简单性,出于单纯只是解决bug管理的功能,最终选择使用bugfree软件.
  软件介绍:
  BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理系统。简单实用、免费并且开放源代码(遵循GNU GPL).命名BugFree 有两层意思:一是希望软件中的缺陷越来越少直到没有,Free嘛;二是表 示它是免费且开放源代码的,大家可以自由使用传播。
  补充说明:
  由于版权纠纷,bugfree已经处于停止开发和技术支持,现在其官网和相关技术文档都少之又少了.之前的开始人员已经转入到zentao的开发系统中了,而且zentao项目管理系统更加优秀,功能更加强大,在yc公司有一年使用体验,推荐.
  也是因为资料少之又少,写这个文档也是了留下技术资料,以备将来使用.
  ################################分界线##########################################
  1. 软件部署平台
  RHEL 5.5   64位    2.6.18内核稳定版本
  2. 所需相应软件下载
  bugfree3.0.4.zip
  php-json-ext-1.2.1.tar.bz2
  3. 安装说明
  bugfree 是由php开发,部署在LAMP平台即可,并且bugfree需要php-json扩展库的支持,以达到数据交互和展现,而这个软件包是系统默认安装的,而且yum源也没有json,需要我们手动编译.
  出于业务的简单性,使用yum方式安装lamp软件系列,方便管理维护.
  4. 安装LAMP涉及软件
# rpm -qa | grep php
php-cli-5.1.6-27.el5
php-pdo-5.1.6-27.el5                 这个软件包特别注意下
php-pecl-json-1.2.1-4.el5
php-common-5.1.6-27.el5
php-devel-5.1.6-27.el5
php-mysql-5.1.6-27.el5
php-gd-5.1.6-27.el5
php-pear-1.4.9-8.el5
php-5.1.6-27.el5
# rpm -qa | grep mysql
mysql-server-5.0.77-4.el5_4.2
php-mysql-5.1.6-27.el5
mysql-devel-5.0.77-4.el5_4.2
mysql-devel-5.0.77-4.el5_4.2
mysql-5.0.77-4.el5_4.2
mysql-5.0.77-4.el5_4.2
# rpm -qa | grep httpd
httpd-2.2.3-43.el5

  5. 根据自己需求,找到对应版本的php-json库
  下载地址: wgethttp://pkgs.fedoraproject.org/repo/pkgs/php-json/php-json-ext-1.2.1.tar.bz2/e06e701412a055f3372775216ec3d604/php-json-ext-1.2.1.tar.bz2
  6. 之前的LAMP平台准备好,重启mysqld and httpd服务器,
  接着执行相关操作,安装php-json扩展
#解压文件,并进行到目录
# tar -xjf php-json-ext-1.2.1.tar.bz2
#进入当前路径,并使用当前系统phpize刷新configure文件
# cd php-json-ext-1.2.1
# phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20050922
Zend Extension Api No:   220051025
#可以看到以configure等文件已经刷新到当前的时间了.
# ll
total 1468
-rw-r--r-- 1 10008 10008  66540 Jun 18 12:13 acinclude.m4
-rw-rw-r-- 1 10008 10008 298049 Jun 18 12:13 aclocal.m4
drwxr-xr-x 2 root  root    4096 Jun 18 12:13 autom4te.cache
drwxrwxr-x 2 10008 10008   4096 Jun 18 12:13 build
-rwxr-xr-x 1 10008 10008  42037 Jun 18 12:13 config.guess
-rw-rw-r-- 1 10008 10008   1610 Mar 31  2006 config.h.in
-rw-rw-r-- 1 10008 10008   2139 Jan 31  2006 config.m4
-rwxr-xr-x 1 10008 10008  30253 Jun 18 12:13 config.sub
-rwxrwxr-x 1 10008 10008 658032 Jun 18 12:13 configure
#进行默认当前路径编译,可以看到会生成一个我们需要的模块
# ./configure
# make
Libraries have been installed in:
/root/php-json-ext-1.2.1/modules
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).
#由此我们可以知道,其实YUM安装的LAMP创建的模块放置在/usr/lib64/php/modules/,上面的configure记录也不太可靠.
# make install
Installing shared extensions:     /usr/lib64/php/modules/
# ll /usr/lib64/php/modules/json.so
-rwxr-xr-x 1 root root 92750 Jun 18 12:14 /usr/lib64/php/modules/json.so
  7. php-json 验证
  做完进行数据确认,是运维良好的习惯。重启httpd服务器以加载PHP配置,通过简单的phpinfo函数,
  以确认已经支持json
  spacer.gif@这是就不放图,大家都知道,需要通过php页面,了解此处php已经支持相关模块
  ################################分界线##########################################
  8. 实际安装bugfree软件
  #解压目录,并移到httpd DocumentRoot下,再通过浏览器访问以下路径:
  # unzip bugfree3.0.4.zip
  # mv bugfree3.0.4 /var/www/html/bugfree
  # chown -R apache.apache /var/www/html/bugfree
  9. 访问下面连接,即可进行页面安装工作,根据自己情况调整
  http://192.168.0.107/bugfree/install
  bugfree安装十分简单,只需要三个步骤即可.
  9.1 环境检查,如果有不符合的内容,按要求添加即可.
  上面如果没有安装要求准备LAMP的软件,在环境检查时会报错的。

  9.2 在数据库创建相应用户,界面会往自动调用,往里面创建表格.
  细看一下那个创建数据表的文件,所创建的表格绝大部分是INNODB存储引擎创建的表格.
  create database bugfree;
  grant all privileges on bugfree.* to bugfree@localhost identified by "xxxx";
  9.3  填写数据库连接信息,可以让应用与数据库交互

  9.4  经过几分钟等待,就可以完成安装.


  9.5 访问页面,这是最新版本的bugfree 3.0.4,不知道现在还有软件下载不
  http://192.168.0.107/bugfree
  目前用户: admin
  密码:       xxx
  请更改相应的密码

  9.5 打开页面效果图.

  10.  邮件通知功能添加
  保证sendmail服务器正常启动,保证域名能被DNS正常解释
  修改相对应的配置文件
# sed -n '105,117p' /var/www/html/bugfree/protected/config/main.php
array (
'on' => '1',
'from_address' => 'xxxxxx',
'from_name' => 'BugFree',
'send_method' => 'SMTP',
'send_params' =>
array (
'host' => 'xxxx',
'smtp_auth' => true,
'username' => 'xxxx',
'password' => 'xxxx',
),
),
  11.  bugfree 维护记录
  11.1  注意应用所在目录的读写权限,因为apache会对目录/var/www/html/bugfree内容进行读写操作,权限不对,会造成页面访问不畅。此处当时通过查看/var/log/httpd下面的错误和访问日志分析解决
  11.2  bugfree发送不了邮件,对应应用日志位置,可以检查下面文件内容,发现和解决问题
  重启检查下上面那个main.php文件内容
  验证邮件用户正常发信
  最后发现是由于/etc/resolv.conf 没有内容,加入DNS记录,可是没有把httpd重启,应用无法连接DNS进行MX解析
  # tail -2 /var/www/html/bugfree/protected/runtime/application.log
  2014/03/11 11:18:35 [error] [bugfree.ProductService] mail send failed:"Language string failed to load: data_not_accepted"
  2014/03/11 11:20:32 [error] [bugfree.ProductService] mail send failed:"Language string failed to load: data_not_accepted"
  12. 目前bugfree几乎在网络上绝迹,而且相关开发团队出现矛盾,此文档只是相关维护记录,感谢相关开发者贡献,才能让用户用上这个软件,致敬。
  这个软件挺稳定的,用了一年多9个月,满足公司需求,当然后期需求复杂化,我也挺赞同迁移到升级版本的 zentao禅道。