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

创建时间:     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禅道。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-28 14:43:26

BUG管理系统运维记录(bugfree)的相关文章

运维前线:一线运维专家的运维方法、技巧与实践1.6 运维自动化系统的实现

1.6 运维自动化系统的实现 挑战自动化的极致场景(可视化),是运维人员对极致的追求.极致的自动化是运维事务全流程的自动化,运维事务全流程自动化是包含了一次应用完整交付所涉及的所有资源的自动化能力,比如说DNS资源.负载均衡资源.数据库资源.服务器资源.配置资源等.下面将列举几个典型的运维自动化系统以供大家参考. 1.6.1 DNS管理系统 DNS是Web形态下的一个重要入口,用户服务的访问严格依赖于这个服务入口.现在一般被称为GSLB(全局服务负载均衡调度),目前是CDN服务中的重要服务节点.

[MySQL 5.6] GTID内部实现、运维变化及存在的bug

由于之前没太多深入关注gtid,这里给自己补补课,本文是我看文档和代码的整理记录. 本文的主要目的是记下跟gtid相关的backtrace,用于以后的问题排查.另外也会讨论目前在MySQL5.6.11版本中存在的bug. 本文讨论的内容包括 一.主库上的gtid产生及记录 二.备库如何使用GTID复制 三.主备运维的变化 四.MySQL5.6.11存在的bug 前言:什么是GTID 什么是GTID呢, 简而言之,就是全局事务ID(global transaction identifier ),最

政务云计算中心运维管理系统的架构研究

政务云计算中心运维管理系统的架构研究 董蕙亚, 薄剑勇 通过分析云计算的特征和政务云计算中心的运维管理需求, 运用系统层次性.复杂适应系统.面向服务的体系结构和IT 服务管理等理论方法, 提出了运维管理系统结构模型和功能模块.一个面向服务.合理分层.对IT 资源重新组织的运维管理系统能有效地适应政务云计算中心快速发展变化的要求, 并实现云计算中心高效管理和服务. 关键词: 云计算; 政务云计算中心; 运维管理; 架构; 面向服务 temp_12090409118650.pdf

《IT运维之道》——13.1 操作系统

13.1 操作系统 操作系统是管理和控制计算机硬件与软件资源的计算机程序,是计算机系统的核心与基石,任何应用软件都必须在操作系统的支持下才能运行,它是信息系统运行中最主要的基础软件之一.操作系统位于底层硬件与用户之间,是两者沟通的桥梁,用户可以通过操作系统的用户界面输入命令,操作系统则对命令进行解释,驱动硬件设备,实现用户要求. 操作系统的主要功能是资源管理,程序控制和人机交互等.计算机的资源可分为设备资源和信息资源两大类,设备资源指的是组成计算机的硬件设备,如中央处理器.主存储器.磁盘存储器.

《IT运维之道》一13.1 操作系统

13.1 操作系统 操作系统是管理和控制计算机硬件与软件资源的计算机程序,是计算机系统的核心与基石,任何应用软件都必须在操作系统的支持下才能运行,它是信息系统运行中最主要的基础软件之一.操作系统位于底层硬件与用户之间,是两者沟通的桥梁,用户可以通过操作系统的用户界面输入命令,操作系统则对命令进行解释,驱动硬件设备,实现用户要求. 操作系统的主要功能是资源管理,程序控制和人机交互等.计算机的资源可分为设备资源和信息资源两大类,设备资源指的是组成计算机的硬件设备,如中央处理器.主存储器.磁盘存储器.

有赞MySQL自动化运维之路—ZanDB

一.前言 在互联网时代,业务规模常常出现爆发式的增长.快速的实例交付,数据库优化以及备份管理等任务都对DBA产生了更高的要求,单纯的凭借记忆力去管理那几十套DB已经不再适用.那么如何去批量管理这些实例的备份.元数据.定时脚本和快速实例交付就成了急需解决的的问题. 二.数据库的标准化 在实现MySQL的自动化运维的过程中,最痛苦的无非是目录的不统一,配置文件的混乱以及DB主机的不标准,而这些不标准的环境会让自动化运维的路途荆棘重重.所以首先我们将相应的DB主机以及目录做了标准化,将以前不符合的标准

容器服务slack运维机器人

初识slack 几年前开始创业,组建团队的第一天,我们首先讨论和考虑的不是高屋建瓴的业务场景和目标,而是整个团队的协同和沟通的问题.选择使用什么作为团队的IM,选择什么作为BUG的记录,选择什么作为需求的跟踪,这些基础设施的存在无形中提高了整个团队的生产力,保证了协作的顺畅和流程.由于团队的成员有些是外国人,而在国外GEEK圈中风光无限的SLACK也就顺理成章的被老外们安利到了团队中. 那么slack是个什么东西呢. Slack 是聊天群组 + 大规模工具集成 + 文件整合 + 统一搜索.截至2

Linux集群和自动化运维

Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技术丛书) ISBN 978-7-111-54438-8 I. L- II.余- III. Linux操作系统 IV. TP316.89 中国版本图书馆CIP数据核字(2016)第176055号 Linux集群和自动化运维 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037

运维角度浅谈MySQL数据库优化

  一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善.这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段: 1.数据库表设计   项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计.对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验.影响的因素很多,比如慢查询.低效的查询语句.没有适当建立索引.数据库堵塞(死锁)等.当然,有测试工程