编写软件本质上就是人和人之间的协作,协作就最好有工具帮忙。我最早使用的就是邮件+bugzilla。这个简单的搭配就把QA和开发人员集成在一起,滚滚车轮就此转起来了。
但是那时候是在帮鬼子bug fix,所以也就够了。说起来挺不好意思,不帮鬼子bug fix了,自己也懒得弄新东西,团队一直就是bugzilla。
其实早就是知道项目管理工具,收费的据说jira比较好,免费的就是trac了,昨天终于痛下决心,搞了一天的trac和mylyn,通了。
我觉得做一个Java项目,只要有下面的一些工具帮忙:
svn + tortoiseSVN:源码管理
trac + mylyn:项目、任务、bug管理
maven + m2eclipse + nexus:jar包管理
好了,进入正题,trac。在网上搜到好多都是怎么和apache配合的,个人认为,不用apache这么复杂,直接起就可以了,就像我用svn一样,直接svnserve -d -r搞定。
1、在下载trac的windows installer,安装;(我也玩python,所以2.5的环境我有)
2、安装easyinstall
:python ez_setup.py;也有人建议先安装easyinstall,这样连trac也可以用它直接安装了,其实都成,反正我在windows下面有trac installer,也不麻烦
3、安装genshi
:这个东西比较有意思,很容易念成“真屎”,是生成html的,安装起来比较简单直接
easy_install Genshi
这三步完成后,如果你猴急,可以先启动一下:
首先,建立项目文件夹,在这里我多说一句:我弄svn的时候,建了一个目录叫svn,里面两个文件夹java、python,然后在这两个文件里面做了两个repository,操作java就svnserve -d -r ./java;所有的java项目都放在这个目录下分门管理了,本来我也想这样,建一个trac目录,里面放java和python两个目录,但是后来突然发现不是那么回事,trac是针对项目的,不能多个项目的ticket放在一起,就乱了。
所以各位,你还是老老实实的有100个项目,就建100个目录吧,别嫌麻烦。
第二步,创建repository,类似用tortoiseSVN create repository here一样,命令是:
c:\python2.5\Scripts\trac-admin 建的项目目录 initenv
然后会问你一些问题,在这些问题中,有难度的就是和svn挂接的,挂接了以后,就可以在trac中查看源代码了,但是我觉得局域网开发项目,没必要,还是各司其职比较好,所以按照他的提示,直接回车跳过,然后硬盘小转一下,你就发现目录里面有一堆东西了;在这一步骤中,如果发生问题,好象是找不到repository什么的,就是因为你没有安装genshi,装上就好了。
第三步,启动。c:\python2.5\Scripts\tracd -p 8000 建的项目目录
点儿正的话,你就看到东西了,但是什么什么都操作不了,并且你发现里面给你丑陋的建了component 1 milestone1什么的乱七八糟的。不用管,因为你还没有设权限。
新建一个文件,叫trac-digest.py:内容如下:
from optparse import OptionParser
import md5
# build the options
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 trac-digest.py -u steve -p password d:\password.txt
其中-u就是起一个用户名,-p就是起一个密码,第三个参数是将授权文件放在什么地方,然后文件就生成了,文件内容如下:
steve:trac:563234c5a70ba77567cc9bac770d
如果需要多个用户,多执行几次,然后考到同一个文件里面应该就可以(没试过,瞎猜的,有兴趣你试试,然后给我回一个)。
然后用下面的命令再次启动:
tracd -p 8000 --auth=你项目的名字(在trac-admin ... initenv的时候,问过你),授权文件的地址,trac 项目路径
比如:
tracd -p 8000 --auth=trac_test,d:\trac\pwd.txt,trac d:\trac\java\trac_test
然后再次访问,你就可以惊喜的发现,你可以登录了。
但是,可但是,除了增加ticket之外,还是什么配置都不能改,最烦人的component1 milestone1什么的也不知道在什么地方设定。
没事,再运行一个命令:
trac-admin 项目的目录 permission add 你的用户名 TRAC_ADMIN
这句话的意思呢,就是让你这个用户有管理这个项目的权限,实际也没什么神秘的,就是在数据库里面增加了一行。
然后你再次登录,就发现菜单中多了一项admin,这回就舒服了,可以进去授权,修改component、milestone等等东西了,另外,给你的几个用户都增加ticket-admin的权限,表示他们可以操作ticket。
行了,现在你就可以想干什么就干什么了。
下面我说说怎么和mylyn继承了。
1、你在安装mylyn的时候,选择optional项目trac integeration;
2、打开eclipse,点儿正的话,能看到mylyn正常运行,增加一个task,会弹出一个窗口让你选择repository,选择trac的,在弹出的窗口中:
url: http://localhost:8000/trac_test
label:随便填
用户名、密码填好
这时候,不管你选择web方式还是xmlrpc方式,你按validate的时候,总是不通过,因为我还没说怎么给trac加上xmlrpc的plugin呢。
进入python的Scripts目录,运行:
easy_install http://trac
-hacks.org/svn/xmlrpcplugin/trunk/
安装trac的xmlrpc支持。
注意:我有大约2个小时的时间都浪费在这里了,安装错误:总是提示:“global log”什么的找不到。而恰恰一些install guide里面没有这个东西,寻找了良久,最后发现这是由于setuptools的一个bug,重新下载一个dev版本,安装一下就好了,步骤如下:
用tortoiseSVN browse http://svn.python.org/projects/sandbox/branches/setuptools-0.6/setuptools
将全部的内容export到一个目录下(懒得弄的话,就下载我的附件,最好自己弄,万一有人家更新呢),然后执行
python setup.py install
安装一把,搞定,这时候再:
easy_install http://trac
-hacks.org/svn/xmlrpcplugin/trunk/
没问题了。
完成后再次启动tracd:
tracd -p 8000 --auth=trac_test,d:\trac\pwd.txt,trac d:\trac\java\trac_test
进入admin,在plugin下面,你就能看到一个xmlrpc项目了,勾选全部的内容,然后确定。
再次回到eclipse中的mylyn,将连接方式设定为xmlrpc,validate,finish。
连上了。
怎么用也让我费了一下劲,一开始,自己新建的task也不能上传,刚才在web方式建的几个ticket也不能下载到mylyn。
解决步骤如下:
1、先将window - show view - others,将task repository的view显示出来,你应该能够看到你刚刚建立的trac的repository,右键new query,title你自己起一个,中间的筛选都可以不用,最后一行选上owner,你自己的登录名就行了,那意思就是“这个查询只筛选出属于我的ticket”;
然后你在task list view中就能看到你的这个query了,在时候,在这个query新建task, synchorize什么的,就可以了!
至此,全通了。
另外,作为一个完美主义者,我本来想将几个测试用的ticket删除,但是死活没找到删除ticket的地方,查了trac的文档以后,发现:不是没找到,而是压根人家就没做这个功能,因为人家认为ticket一旦建立,就不应该删除,所谓删除,就是设定这个ticket为invalid。无奈,就这么设吧
如果你比我更执着,非要删除呢,直接删表记录吧,参考:
$ sqlite trac.db
delete from ticket_change where ticket = 1234;
delete from ticket_custom where ticket = 1234;
delete from ticket where id = 1234;
分享到:
- 2009-01-22 14:25
- 浏览 2616
- 评论(7)
- 论坛回复 / 浏览 (7 / 8358)
- 查看更多
相关推荐
街道级行政区划shp矢量数据,wgs84坐标系,下载直接使用
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
街道级行政区划shp矢量数据,wgs84坐标系,下载直接使用
轻量级密码算法LBlock的FPGA优化实现.docx
街道级行政区划shp矢量数据,wgs84坐标系,下载直接使用
Git 资料 progit-zh-v2.1.1.pdf
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
篮球计分器FPGA附程序..doc
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
内容概要:本文档全面介绍了Linux开发的基础知识、应用场景、环境搭建、常用命令、Shell脚本编程以及C/C++和Python开发等内容。首先阐述了Linux开发的重要性及其在服务器端开发、嵌入式开发和系统运维等领域的广泛应用。接着详细讲解了如何选择合适的Linux发行版并安装系统,配置开发环境,包括安装必要的开发工具和配置SSH服务。文档还深入讲解了Linux基础命令,如文件和目录操作、文件内容查看与编辑、进程管理和权限管理。此外,介绍了Shell脚本编程的基本语法,包括变量、条件语句、循环语句和函数定义。针对C/C++和Python开发,文档分别讲解了编译器安装、程序编写与编译、调试方法及使用虚拟环境等内容。最后,简要介绍了Linux内核开发的相关知识,包括下载编译内核、内核模块开发等,并推荐了相关学习资源。 适合人群:对Linux开发感兴趣的初学者及有一定经验的研发人员,尤其是希望深入掌握Linux开发技能的开发者。 使用场景及目标:①掌握Linux开发环境的搭建与配置;②熟悉Linux基础命令和Shell脚本编程;③学习C/C++和Python在Linux下的开发流程;④了解Linux内核开发的基本概念和技术。 阅读建议:此文档内容丰富,涵盖面广,建议读者根据自身需求选择性阅读,并结合实际操作进行练习。特别是对于初学者,应先掌握基础命令和开发环境的搭建,再逐步深入到编程语言和内核开发的学习。
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
街道级行政区划shp数据,wgs84坐标系,直接使用。
内容概要:本文档《word练习题.docx》是一份详细的Word操作练习指南,涵盖了从基础到高级的各种功能。文档分为三个主要部分:内容编辑、页面布局和高效文档。内容编辑部分包括文本格式化、段落设置、项目编号、制表位、边框与底纹等练习;页面布局部分涉及分节符、分栏、页眉页脚、水印等设置;高效文档部分则聚焦于样式管理、导航窗格、题注、书签、超级链接、脚注与尾注、交叉引用等功能。每个练习都有具体的操作步骤,帮助用户掌握Word的各种实用技巧。 适合人群:适用于Word初学者及希望提高Word技能的中级用户,尤其是需要频繁使用Word进行文档编辑和排版的办公人员。 使用场景及目标:①帮助用户熟悉Word的基本操作,如文本编辑、格式设置等;②提升用户的文档排版能力,学会设置复杂的页面布局;③提高工作效率,掌握高效文档管理技巧,如样式应用、题注和交叉引用等。 其他说明:此文档不仅提供了具体的练习题目,还附带了详细的步骤说明,用户可以根据指引逐步完成每个练习。此外,文档中的一些练习涉及到智能文档和Office智能客户端的应用,有助于用户了解Word在企业级应用中的潜力。建议用户按照章节顺序逐步学习,实践每一个练习,以达到最佳的学习效果。
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
全球腐败感知数据(2000-2023)——3000行 33个指标 关于数据集 该数据集包含3000行和33列,涵盖了2000年至2023年的腐败感知指数(CPI)数据和各种治理指标。它包括国家排名、分数和其他指标,如公共部门腐败、司法腐败、贿赂指数、商业道德、民主指数、法治、政府效率、经济指标和人类发展指数。 这些数据可用于: 腐败趋势分析 腐败对GDP、人类发展指数和治理的影响 跨国比较 数据可视化和机器学习模型 该数据集对研究人员、数据分析师、政策制定者和对研究全球腐败趋势非常有用。
毕业设计(论文) 基于FPGA的数字频率计设计.doc
街道级行政区划shp数据,wgs84坐标系,直接使用。
NTI1NDU3NTAyODMwOTQxMzI0M18xNzQ0Nzk1MTk1OTgz_6.JPG
街道级行政区划shp数据,wgs84坐标系,直接下载使用。