ITS(Issue Tracking System) Trac 详解

[b]ITS(Issue Tracking System)[/b]

通过搜索,知道有以下 ITS :
Bugzilla : 基于 Perl。
Gemini : 非开源,基于 .Net,免费版可供5人使用, SharpDevelop 就是用的他。
JIRA : 基于 Java,重量级。
Mantis : 基于 PHP,轻量级。
Trac : 基于 Python。

[b]安装 建立trac.sh[/b]


#安装 Trac
#!/bin/bash
##
#trac 安装
#安装手册 http://trac.edgewall.org/wiki/TracInstall

##
##install dependence
#install easy install
wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg#md5=64c94f3bf7a72a13ec83e0b24f2749b2
sudo sh setuptools-0.6c9-py2.4.egg
#install Genshi
#sudo easy_install Genshi 这个版本低
sudo easy_install http://svn.edgewall.org/repos/genshi/trunk/

#install MySQL-python 1.2.2
#sudo wget http://pypi.python.org/packages/2.5/M/MySQL-python/MySQL_python-1.2.2-py2.5-win32.egg#md5=596ec38e498e80ce73759f777b29c588
#sudo sh setuptools-0.6c9-py2.4.egg sudo trac-admin /home/worker/online/trac_project/ wiki load /home/worker/online/tracChn/default-pages/
sudo easy_install MySQL_python

#apache subversion
#http://subversion.apache.org/
#http://trac.edgewall.org/wiki/TracSubversion
sudo apt-get install subversion
sudo apt-get install libapache2-svn
sudo apt-get install python-subversion
#create svn 目录这里改为你自己的目录
svnadmin create /
#进入svn 目录conf 更改配置文件
#启动服务
svnserve -d
svnserve -d -r /home/worker/svn_dir/project/
#默认端口:3690
#测试: svn://ip/

sudo apt-get install libtool autoconf autotools-dev
wget http://cdnetworks-kr-1.dl.sourceforge.net/project/swig/swig/swig-1.3.40/swig-1.3.40.tar.gz
tar zxf swig-1.3.40.tar.gz
cd swig-1.3.40
sudo ./autogen.sh


#install apache
sudo apt-get install apache2

##mod_python config
#doc http://trac.edgewall.org/wiki/TracModPython
sudo apt-get install libapache2-mod-python libapache2-mod-python-doc

#install syntax highlighting
sudo easy_install Pygments
sudo trac-admin /home/worker/online/trac_project/ wiki load /home/worker/online/tracChn/default-pages/
#install WikiRestructuredText
wget http://cdnetworks-kr-2.dl.sourceforge.net/project/docutils/docutils/0.6/docutils-0.6.tar.gz
tar zxf docutils-0.6.tar.gz
cd docutils-0.6
python setup.py install

#install a complete list of time zones
sudo easy_install pytz

#install clearsilver for diff
wget http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz
tar zxf clearsilver-0.10.5.tar.gz
cd clearsilver-0.10.5
sudo ./autogen.sh

#Installing Trac
#sudo easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11
#sudo apt-get install trac 0.11
sudo easy_install http://svn.edgewall.org/repos/trac/trunk #0.12


##Create Database
#CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

##Create user
#GRANT ALL ON trac.* TO trac@localhost IDENTIFIED BY 'bmc';
#mysql://user:password@localhost:3306/trac

##MyISAM to InnoDB
#SELECT table_name, engine FROM information_schema.tables WHERE table_schema=DATABASE();
#ALTER TABLE `table_name` ENGINE = InnoDB;


#Creating a Project Environment
#http://trac.edgewall.org/wiki/TracEnvironment#SourceCodeRepository

trac-admin /path/to/myproject initenv #change your path
##
#1.enter your project name
#2.enter mysql connection string
#3.repository_type = svn
#4.repository_dir = /path/to/your/repository /home/worker/online/QuoteCenter/


#run test
tracd --port 8020 /home/worker/online/test



[b]Trac 认证管理 生成密钥的python代码如下[/b]
[code]
##
#python 生成安全认证
#python code start
from optparse import OptionParser
import md5
usage = "usage: %prog [options]"
parser = OptionParser(usage=usage)
parser.add_option("-u", "--username",action="store", dest="username", type = "string",
help="the username for whom to generate a password")
parser.add_option("-p", "--password",action="store", dest="password", type = "string",
help="the password to use")
(options, args) = parser.parse_args()

# check options
if (options.username is None) or (options.password is None):
parser.error("You must supply both the username and password")

# Generate the string to enter into the htdigest file
realm = 'trac'
kd = lambda x: md5.md5(':'.join(x)).hexdigest()
print ':'.join((options.username, realm, kd([options.username, realm, options.password])))
#python code end
[/code]
python trac-digest.py -u username -p password >> c:\digest.txt

#run test auth
#语法tracd -p port --auth=base_project_dir,password_file_path,realm project_path
/usr/bin/tracd --port 8020 --auth=trac_project,/home/worker/online/trac_project/conf/digest.txt,trac /home/worker/online/trac_project

[b]Trac 中文问题[/b]
http://trac-hacks.org/wiki/TracDefaultWikiChinese

#本软件包为Trac 0.11.x默认wiki页面的完整中文版本, 所有页面文件都位于default-pages目录中.
#由于Trac 0.12开始支持国际化, 因此我们将重点放在了Trac 0.12版本的i18n支持上.
#Trac 0.11先仅提供默认wiki页面的完整中文版本.
svn co http://trac-hacks.org/svn/zoomquiettranslation/trunk/0.11.x
#安装
#1. 安装默认wiki页面到项目环境中, 执行命令:
sudo trac-admin /home/worker/online/trac_project/ wiki load /home/worker/online/tracChn/default-pages/
#2. 配置trac.ini, 增加如下配置:
   
[trac]
default_charset = utf-8

   
[mainnav]
wiki.href = /wiki/ZhWikiStart

[metanav]
help.href = /wiki/ZhTracGuide

#3.将ZhTracGuideToc.py文件复制到环境的plugins目录:
cp ZhTracGuideToc.py /home/worker/online/trac_project/plugins


[b] Trac 8个企业应用必备的Trac插件[/b]

这些插件都可以在 Trac Hacks [url]http://trac-hacks.org/ [/url]上下载到。直接在首页搜索名字即可,因此本文就不再给出下载链接。

AdvancedTicketWorkflowPlugin

添加几种常用的ticket工作流动作,如转给上一个人、转给模块负责人、转给报告者、执行外部程序等。如果你想要自己打造一个适合项目的工作流,这个插件肯定会派上用场。

BatchModify

批量修改ticket属性。

TracAccountManager

可以从后台管理Trac帐号,但更重要的是,它可以提供一个基于Web的登录页面。

TracAuthRequired

要求使用者必须登录才能查看Trac内容。在企业应用中,项目的资料一般都需要保密,这个插件跟TracAccountManager配合使用,正好能满足要求。

TracReportManager

Trac可以自定义报告,但报告管理功能很弱,一不小心就会把辛辛苦苦写成的SQL语句删掉。 TracReportManager可以给ticket报告做备份,在修改报告之前先备份一下,就不用担心误删的问题了。

TracSectionEditPlugin

可以按照章节编辑wiki内容(就像WikiPedia那样)。一些手册页可能会很长很长,一次性编辑很不方便,而单独编辑某一章节就比较容易了。

TracTicketTemplate

ticket模板,可以给不同类型的ticket做不同的模板,能节约输入ticket的时间,规范ticket的格式。

TracWikiRename

给wiki页面改名,在整理wiki时很有用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值