论坛首页 综合技术论坛

trac mylyn 能折腾死个人

浏览 8345 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-01-22  

编写软件本质上就是人和人之间的协作,协作就最好有工具帮忙。我最早使用的就是邮件+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-03-31  
能问下,有没有mylyn的详细教程。我今天在网上找了一天还是不知道怎么用。我只用mylyn可以么,其他的比如你说的trac我都听都没听说过。我只要它的local管理功能。
0 请登录后投票
   发表时间:2009-03-31  
不好用的东西,还是不要用的好。累。

很喜欢mylyn的思想。但一看到那么复杂,我坚决的拒绝使用。
采用project,程序todo,记事本配合完成。


-----------------------
权限管理圈子欢迎您加入:
http://accessmanager.group.iteye.com/
0 请登录后投票
   发表时间:2009-04-01  
不好意思打个广告:JIRA就是好阿就是好。
0 请登录后投票
   发表时间:2009-04-03  
yidao620c 写道
能问下,有没有mylyn的详细教程。我今天在网上找了一天还是不知道怎么用。我只用mylyn可以么,其他的比如你说的trac我都听都没听说过。我只要它的local管理功能。

 

    可以只使用local管理功能,首先你打开“task list”(依次打开主菜单的window -> show view -> task list),而后在task list 当中新建一个类型为“local task”的【任务A】,在任务编辑页面中填写任务的名称和注释,以及估计开始的时间和消耗的时间之后,保存。

    在任务编辑页面中点击右上角的紫色小圆球,这个是“active task”按钮,它会从激活动作开始计时,而后你可以打开一些与这个任务相关的java代码界面、jsp编辑器等。

    你可以打开"Package Explorer",而后这个标签页标题栏下的一排按钮最后边有个图标按钮,工具提示是“focus on active task”,如果点击这个按钮,"Package Explorer"中只会列举出你现在打开的这几个代码页面。

 

    这个时候如果你的PM突然叫你做另外一个更为紧急的任务,你可以打开【任务A】的任务编辑页面,点击里面那个“active task”按钮(由于任务A已被激活了,所以现在是“Deactive Task”)来暂时冻结任务(以免任务的"Elapse Time"一直增加,这可是工时啊~~)

 

    而后仿【任务A】例,新增类型为"local task"的【任务B】,重新打开一堆的编辑器来做PM分配给你的新任务,完成后"Deactive"【任务B】,可以在"task list"当中右键点击【任务B】,点击"Mark as"->"Complete",这样表示这个任务已经被你搞定了,鼠标停留在【任务B】上,还可以查看耗费的工时~~

 

    好了【任务B】结束了,从"task list",在【任务A】上点击右键,在弹出菜单中选择“Active”来激活【任务A】,这个时候,你会发现你之前在【任务A】中打开的那些编辑器全部还原了,嘿嘿~~我们的开发工作从此也变成了"多线程"~~

 

    另外,在subclipse插件的SVN视图中提交的时候也有一个开关按钮可以体现出mylyn的好处来,会帮我们根据task的内容自动填写提交日志,

0 请登录后投票
   发表时间:2009-04-24  
yidao620c 写道
能问下,有没有mylyn的详细教程。我今天在网上找了一天还是不知道怎么用。我只用mylyn可以么,其他的比如你说的trac我都听都没听说过。我只要它的local管理功能。


一个任务往往涉及到很多的文件需要修改,比如修一个bug可能涉及10个文件,如果这个bug被reopen了,你可能就忘了都修改过什么,mylyn是基于任务的,能帮你记住这些。

具体使用不是那么费劲:
1、增加任务内容;
2、增加完了以后,点这个任务前面的点,呈点中状态后,你会发现你的nav tree里面没有东西了!;
3、按住ctrl然后点,就能看到内容,然后打开该怎么修改就怎么修改,这些操作都会被mylyn记录的;
4、关闭eclipse后,再次打开,再次选中任务前面的点,你会发现nav tree面板上就是上次修改的类,其他都隐藏了
0 请登录后投票
   发表时间:2009-06-03  
被楼主误导了, 装个unbuntu, 然后有现成教程,几步搞定
0 请登录后投票
   发表时间:2010-01-06  
学习mylyn中,真不错啊
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics