注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 负载均衡技术沙龙问答汇集
 帮助

trac 完全配置


2008-01-10 15:44:59
 标签:系统 应用 trac   [推送到技术圈]

使用
Trac系列(2)Trac的使用2007-07-16 11:11在上一篇文章中我写了Trac的安装和基本配置,这篇我们来看看Trac的基本使用。
Trac
的使用说来是很简单的,大家多点点、多看看就明白了。而且,Trac的官方网站也有相应的教程,很详细,虽然是英文,但很简单,即便是英语不好的朋友,装个金山词霸也肯定一看就懂。
个人认为,对于项目团队来说,Trac对我们最有有的是wikiroadmaptickets。大家可以详细的看看这方面的帮助。
Wiki
(什么是wiki)可以帮助我们快速的搭建项目和内容管理平台,方便信息的发布和共享。要顺利的使用Wiki,项目团队中的每个人都要熟悉wiki的格式,学会新建和编辑wiki页面,其实是很简单的,看看例子就会啦,具体见 The Trac Wiki Engine
Roadmap
可以帮助我们计划和管理项目中的工作,也就是里程碑管理。当然,也可以用于版本规划等工作。Milestone配合ticks,可以在Roadmap中很方便的看到每个里程碑的工作,以及完成了多少、还剩多少。我使用Roadmap来管理迭代计划,非常之方便。具体帮助见 The Trac Roadmap
Ticket
Trac的核心功能之一,它是一个简单但有效的问题和bug跟踪管理工具。当然,还可以用于任务分配和管理。具体帮助见 The Trac Ticket System
还有其他的功能,包括TimelineRssTrac对版本控制系统的集成等,大家可以看看帮助,都很简单。
如果自己没有配置Trac环境,还可以去Trac demo site 去看看,随便使用下,体会体会Trac的强大功能,你会满意的。。。
trac 配置文件
Trac系列(3):了解Trac的配置文件
2007-07-17 14:46
Trac相关的配置都保存在trac.ini文件中,这个文件的路径是“trac环境目录/conf/trac.ini(对于我们的Angel项目,就在C:\SCM\Angel\Angel_Trac\conf\trac.ini
修改这个配置文件后,除了[components][logging]部分需要重新启动web服务(与Angel项目来说,就是tracd命令),其它的修改都不需要重启web服务,配置的变化会立刻反应到网站中。
关于该配置文件的帮助,在官方网站的 The Trac Configruation File

下面的图是我对Angel项目的trac.ini抓图,并做了部分解释。Angel的值相当于是Trac设置的默认值。


图片很大,请拖拽到单独的网页放大查看,或下载下来查看。

这个文件不用每个选项都了解,大致知道即可。Trac的很多个性化设置以及迁移都需要修改该配置文件,以后会慢慢讲到的。

参考文献:
trac-admin
trac-adminTrac中一个功能强大的命令行配置工具,这个工具可以配置和自定义trac,满足用户的需求。

trac-admin
中的一些功能可以通过WebAdmin这个trac插件,在web界面上完成,当然,这是插件是可选的,在以后会说说它。虽然WebAdmin可以完成trac-admin的大部分功能,而且

跟方便,但了解下trac-admin的行命令操作还是有必要的。有个好消息是,在trac 0.11版本中,内置了WebAdmin,不用装插件了。

调用trac-admin help可以查看trac-admin的选项、命令、子命令列表
C:\Python24\Scripts>..\python trac-admin help

trac-admin
用法: trac-admin </path/to/projenv> [command [subcommand] [option ...]]

除了执行helpabout或者version子命令,不需要指定trac环境的路径(也就是/path/to/projenv)外,其他的子命令都需要将trac环境的路径作为第一个参数。比如
trac-admin /path/to/projenv wiki list

当调用trac-admin,只传递了环境路径参数,没有指定命令和子命令时,trac-admin将启动交互模式,我们可以根据每一步的提示输入命令执行。在交互模式下,也可以获取指定

命令或子命令的帮助,例如
> help resync
获取‘resync’命令的说明
> help wiki
获取所有和Wiki相关的命令集的说明

命令索引:
about
    --
显示trac-admin的关于信息

help
    --
显示帮助信息

initenv
    --
在交互模式下,创建并初始化一个新的trac环境

initenv <projectname> <db> <repostype> <repospath> <templatepath>
    --
使用指定的参数创建和初始化一个新的trac环境

hotcopy <backupdir>
    --
生成trac环境的热拷贝(hot backup copy

resync
    --
同步trac环境和版本仓库

resync <rev>
    -- Re-synchronize only the given <rev>

upgrade
    --
升级数据库到当前版本

wiki list
    --
列出所有的wiki页面

wiki remove <name>
    --
删除指定名称wiki页面

wiki export <page> [file]
    --
导出wiki页面到指定的文件或标准输出

wiki import <page> [file]
    --
从文件或标准输入中导入wiki页面

wiki dump <directory>
    --
导出所有的wiki页面到指定的目录

wiki load <directory>
    --
从指定的目录中导入wiki页面

wiki upgrade
    --
升级默认wiki页面到当前版本

permission list [user]
    --
列出所有的权限或指定用户的权限

permission add <user> <action> [action] [...]
    --
向指定用户添加新的权限

permission remove <user> <action> [action] [...]
    --
取消指定用户的权限

component list
    --
显示可利用的模块

component add <name> <owner>
    --
添加一个新的模块

component rename <name> <newname>
    --
重命名指定的模块
component remove <name>
    --
移除指定的模块

component chown <name> <owner>
    --
改变模块拥有者

ticket remove <number>
    --
删除ticket

ticket_type list
    --
显示所有可利用的ticket类型

ticket_type add <value>
    --
添加一个ticket类型

ticket_type change <value> <newvalue>
    --
改变指定的ticket类型

ticket_type remove <value>
    --
移除指定的ticket类型

ticket_type order <value> up|down
    --
向上或向下移动指定的ticket类型在类型列表中的位置

priority list
    --
显示所有可利用的ticket优先级

priority add <value>
    --
添加优先级

priority change <value> <newvalue>
    --
重命名优先级

priority remove <value>
    --
移除优先级

priority order <value> up|down
    --
向上或向下移动指定的ticket优先级在列表中的位置

severity list
    --
显示所有可能的严重度

severity add <value>
    --
添加严重度

severity change <value> <newvalue>
    --
重命名严重度

severity remove <value>
    --
移除严重度

severity order <value> up|down
    --
向上或向下移动指定的ticket严重度在列表中的位置

version list
    --
显示所有可利用的版本

version add <name> [time]
    --
添加版本

version rename <name> <newname>
    --
重命名版本

version time <name> <time>
    --
设定指定版本的日期(格式: "YYYY-MM-DD" or "now")

version remove <name>
    --
移除版本

milestone list
    --
显示所有可利用的里程碑

milestone add <name> [due]
    --
添加里程碑

milestone rename <name> <newname>
    --
重命名里程碑

milestone due <name> <due>
    --
设定指定里程碑的到期日期 (格式: "YYYY-MM-DD" or "now")

milestone completed <name> <completed>
    --
设定指定里程碑的完成日期 (格式: "YYYY-MM-DD" or "now")

milestone remove <name>
    --
移除里程碑
安装为服务
Trac系列(5):将Tracd封装为Windows服务
2007-08-17 19:56
在第一篇文章里提到,在使用trac站点期间不能关闭tracd运行的窗口,因为关闭了窗口,tracd就停止运行 了,Trac站点也就不能访问了。这会带来一些安全方面的问题,因为tracd要以dos窗口的方式运行,那就要求用户必须登陆操作系统,进入 windows桌面运行tracd,这样任何人都可以在这台机器上关闭tracd或做其他的事情,系统管理员肯定希望程序能以windows service的形式提供服务,这样更安全。

有两种方式可以将tracd封装成windows服务,一种是使用trac的插件TracServiceScript,另一种是使用Windows 2003 Resource Kits中的SrvAny.exetracd封装成windows服务。第一种,我没有试验成功,所以这里只讲第二种,这两种方式的讨论大家可以看看这篇帖子

下面介绍使用SrvAny.exetracd封装成windows服务,本人使用的是XP SP2,其他windows系统应该大同小异:
1.
下载Windows 2003 Resource Kits,在微软官方有下载。下载后安装,默认安装到C:\Program Files\Windows Resource Kits\Tools目录,其实我们只需要该目录下的SrvAny.exeinstsrv.exe文件即可,在此目录下还有rktools.chm帮助文件,大家可以查看SrvAny.exe如何使用。
2.
创建服务,语法如下:instsrv 服务名称 srvany所在路径\srvany.exe。假设我们的Windows 2003 Resource Kits都安装在C:\Program Files\Windows Resource Kits\Tools目录,待建立的服务名称是TracSrv,那么我们的命令如下:
"C:\Program Files\Windows Resource Kits\Tools\instsrv" TracSrv "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"
需要注意的是,srvany前的路径不能省略,必须是绝对路径。具体如下图:


现在我们已经创建了一个名叫TracSrv的服务,下一步我们来配置这个服务,让它封装tracd命令。
3.
在注册表中配置TracSrv服务,运行“regedit”,进入注册表。找到注册表项“HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\TracSrv”,在TracSrv项里建立新的子项“Parameters”,再在新建的 Parameters项里新建字符串值,数值名称设为“Application”,数值数据设为我们在第一篇说的启动tracd的行命令,也就是
c:\python24\python c:\python24\scripts\tracd -p 8001 C:\SCM\Angel\Angel_Trac
(注意使用全路径)。这样,我们就配置好了TracSrv服务。配置结果见下图:


4.
启动TracSrv服务。现在我们就可以在浏览器中访问Trac网站,只要服务器启动,不需要进入登陆Windows桌面,我们就可以访问Trac站点了。

如何删除这个服务呢?使用sc.exe即可,此命令在xp系统自带。
1.
停止TracSrv服务。
2.
运行cmd,进入行命令窗口,输入“sc delete TracSrv",回车即可。

以上是在使用Tracd作为Web服务器时的做法,其他的Web服务器(比如Apache)本身就已经作为服务运行,不需要进行此设置。
另外,以上讲的封装服务的方法是通用的,可以使用这种方法创建新的服务来封装你的程序。
trac scm
WindowsTrac的安装与基本配置
        Trac
是一个基于Web的,轻量级的项目管理工具,它使用python语言编写。在本文中,将介绍windows下安装、集成配置一个简单的Trac环境,并通过浏览器访问和使用Trac站点。Trac环境中,默认的版本控制工具是Subversion,在这里我假定大家已经安装和部署了SVN仓库。

安装前要说的
1.
关于本文中Trac的版本   
        Trac
目前最新的Release版本是0.10.4版本,0.11版本正在开发。本文针对的是0.10.4版本,0.11版本做了大量的更新,使用了新的模板,并集成了配置工具,预计近期发布,但目前的成熟度还不高,建议大家使用0.10.4版本。
2.
必须的组件
        Python
,版本 >= 2.3。目前最新版本是2.5,因为Trac 0.10.x是在2.4版本下开发的,并且2.5版本是新发布的,在Trac的官方文档中也说在Python2.5环境下使用0.10.x理论上可以工作,为了避免不必要的麻烦,建议大家使用2.4版本,本文就以2.4版来介绍。
       ClearSilver
,版本 >= 0.9.3,目前最新版是0.10.4(注意,0.10.4版本需要Python2.5)。这是一套快速、强大、语言无关的html模板系统,在Trac0.11版本中被Genshi取代。
      
数据库,Trac需要一个数据库来集中存放数据,目前支持的数据库包括SQLitePostgreSQLMySQL。默认使用SQLite,我个人非常喜欢SQLite这个小东西,功能够用,部署方便,配置简单(简单到不需要配置),对于小团队完全够用。本文就使用SQLite,如果使用其他的数据库,请参照Trac官方文档。SQLite需要3.3.4版本或以上。
      
使用SQLite,必须安装 PySQLite, 需要版本2.x
3.
可选的组件
      
版本控制系统,Trac功能上的一个亮点就是和版本控制工具的集成,默认使用Subversion,本文使用Subversion。但是从本质上讲,版本控制系统,并不是Trac所必须的,只是集成了版本控制系统,使Trac更强大,这也是为什么Subversion是可选组件的原因。使用Subversion还需要相应的Python绑定(the corresponding Python bindings)
       Web
服务器,在支持CGIFastCGIWeb服务器上,Trac可以通过脚本和接口作为一个CGI来运行。还可以使用Apache服务器,但需要安装mod_pythonmod_wsgi。以上的Web服务器部署方式,可能对大部分人都太复杂,所以Trac内置了一个单独运行的Web