安装与使用 Trac 来管理项目

2023-10-10 04:48
文章标签 安装 使用 项目 管理 trac

本文主要是介绍安装与使用 Trac 来管理项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文转载至:http://cn.waterlin.org/ProjectManagement/Trac.html

1 概要

以 Windows 平台为例,讲述一下有关 Trac 的基本配置与使用,同时分享一下有关 Trac 的项目管理经验。

2 安装 Trac 前的准备工作

2.1 准备工作

  1. 安装 Python 2.7;
  2. 安装 Python Setupfile;
  3. 安装 Genshi,可以用下面的命令用 Setupfile 来安装。
easy_install Genshi

3 安装 Trac

用 easy_install 来安装 Trac,详细的说明可以看官方文档,或者在这一步,直接下载 Windows 的 Trac 安装文件来进行安装。

4 配置Trac环境

完成上述的安装后,就可以创建一个 TracEnvironment,它是 Trac 存储信息的地方,如 wiki pages, tickets, reports, settings 等。

4.1 通过 trac-admin 创建一个 Trac Environment

我的做法是先在d盘新建一个trac目录,然后执行:

$ trac-admin d:/trac/mytest initenv    

然后根据提示输入项目的名字(myproject),数据库连接字符串(默认),你的源代码资源库路径,根据相应的提示,输入相关信息即可。

如果提示如下错误:

C:\Python27\Scripts>tracd -p 8080 e:/trac/MyTest
Traceback (most recent call last):File "C:\Python27\Scripts\tracd-script.py", line 5, in <module>from pkg_resources import load_entry_pointFile "C:\Python27\lib\site-packages\pkg_resources.py", line 2603, in <module>working_set.require(__requires__)File "C:\Python27\lib\site-packages\pkg_resources.py", line 666, in requireneeded = self.resolve(parse_requirements(requirements))File "C:\Python27\lib\site-packages\pkg_resources.py", line 565, in resolveraise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: Genshi>=0.6

则表明没有安装 Genshi。

4.2 运行成功后,即可以开启 Trac 服务

可以通过 tracd 命令来开启 Trac 服务,命令如下:

tracd --port 8000 E:\Trac\MyTest

启动成功后,即可通过网址:

http://localhost:8000/MyTest

来访问相关的 Trac 服务,这时即访问 MyTest 这个工程。

其它机器也可以通过访问这台机器的 IP 加端口来访问这个服务。最基本、最简单的使用,可以不用 Apache 来搭建 Web 服务器。

4.3 添加用户

刚安装好的 Trac,并没有提供一个用户注册面板,也没有设置管理员权限,这个时候,我们需要自己来添加用户。

这一点经常让我这种习惯了用其它管理系统的人摸不着头脑,系统怎么没有让我设置相关的管理员用户名和密码呢?

最简单的方法是这样的:

直接用 Generating Passwords Without Apache 里提到的方法:

$ python trac-digest.py -u username -p password >> c:\digest.txt
$ tracd --port 8000 --auth=proj_name,c:\digest.txt,trac c:\path\to\proj_name

直接就可以把 username 添加到某个工程里,并可以登陆了。

4.4 Trac 管理员密码的设置

单纯把某个用户添加到了工程里,并不能让这个用户有管理工程的权限,所以,需要单独分配权限给这个用户:

比如说,我要分本给 admn 这个用户管理员权限,可以用下面的语句:

$ trac-admin /path/to/projenv permission add admin TRAC_ADMIN

现在重启一下 Trac 服务器,你再用 admin 登陆,就可以看到右边有一个 Admin 的控制面板了。

最好的办法,你给不同的 projects,添加不同的用户名,为不同的 project,开启不同的端口,这样就不会相互影响了。

4.5 有了管理员密码,就可以进行一些基础配置

  • 不让匿名用户看到任何内容

    出于对工作及公司的安全性考虑,我们完全有理由不让匿名用户看到 Trac 里的任何内容。

    只需要在管理面板 Admin ==> General ==> Permissions 里,把 Subject 为 anonymous 的相应权限全部去掉即可。

CANNOT INCLUDE FILE ../addon/ads-bar.org

5 更加高级的功能

5.1 用 Apache 服务器来提供网页版服务

用第4种方法开启的服务,只能在本机使用,如果需要让一个团队都能访问的话,需要开启一个 Apache 服务器。

http://trac.edgewall.org/wiki/TracInstall#RunningTraconaWebServer

5.2 提供网页注册用户名等功能

  1. 先安装一个 Trac Account Manager Plugin 工具

    可以直接用 easy_install 来安装

  2. 重启服务器,在 Plugins 里开启本功能即可。

    注意一定要像图中一样,开启那个右上角的 1 字符。

realm 的用处是区分这个用户名属于哪里的,现在这样,很容易地区分出来。和之前 tracd 命令启动时带的参数一样。

还可以针对不同的工程,设定不同的密码文件,这样可以有效地隔离不相干人群。

使用这个还有一个需要注意的,就是,公司内部使用的话,可以把烦人的 Email Verification 关掉。

5.3 提供邮件发送 ticket 提醒等功能

用 Gmail 的话,可查看这篇日志,有关如何设置用 Gmail 来发提醒邮件的功能。

5.4 提供用户名补全等功能

默认情况下,Trac 需要你在分 Ticket 时,自己填空。在项目人员过多的情况下,这显示是不现实的办法。

还好,可以使用 AutocompleteUsersPlugin 这个来自动补全与提示,使用后感觉不错。

5.5 导出为 Excel 或 Word

可以导出数据为 CSV 或 Text 格式:

Trac also exports reports and custom queries to CSV, which will open in Excel directly. Click the "Comma-delimited Text" link near the bottom.

5.6 Trac 的备份

对于 Trac 这种团队用的东西,备份是非常重要的。成一数据丢了,项目也就完蛋了。

Trac 支持热备份,可以很方便地用下面的命令来对某个工程进行备份:

$ trac-admin /path/to/projenv hotcopy /path/to/backupdir

注意,这个只能是对工程一个一个的进行备份,其实就是把 Trac 工程的所有文件都打了一个包。

所以,为了备份简单,应该要把密码文件也放到 projenv 的目录里,这样备份起来,会一起把用户名和密码文件打包的。

只要备份完全,你完全可以在别外一台机器上,在另一台机器上配置好 Python 环境,再安装好 Trac ,再把这些备份的文件,扔到一个运行目录里,再用同样的命令就可以直接把该 project 跑起来了。

非常便利!

5.7 Trac 换主题

默认的 Trac 主题并不算十分好看,这里有大把主题可以换:

http://trac-hacks.org/wiki/theme

5.8 Trac 上搭建一个博客系统

可以通过这个博客系统及时通知团队有什么新的更新内容之类的。

安装插件:Self-contained Blog plugin

5.9 Trac 作为服务程序开机启动

对于 Linux 系统来说,需要添加一个开机启动程序,还是很简单的。可以使用 /etc/init.d 目录下的脚本来完成这个任务。

详细的脚本可以参考这个文章:Start Trac on Startup – Init.d Script for tracd

注意修改里面的 IP、端口以及目录参数。我这里好像把IP设置成 127.0.0.1 好像并不能让别人访问,所以还是设成你电脑的正式 IP 比较好。或是有一个技巧,在这里直接把 IP 设为 0.0.0.0。

有了这个脚本,你只需要用如下命令重启 tracd 服务器即可:

$ sudo /etc/init.d/trac start
$ sudo /etc/init.d/trac stop

如果是在 Windows 下,则有三种选择来让它开机启动。我喜欢用 cygwin 的 cygrunsrv.exe 来安装该服务。例如,如果我 Windows 本地的 Trac 启动命令是:

tracd --port 8999 --auth=All-in-Trac,E:\water\Basket\Trac\All-in-Trac\conf\password.digest,trac E:\water\Basket\Trac\All-in-Trac

则在 Cygwin 里可用如下命令来把 tracd 注册成 Windows 系统服务:

cygrunsrv --install tracd --path /cygdrive/c/Python27/Scripts/tracd.exe --args '--port 8999 --auth=All-in-Trac,E:\water\Basket\Trac\All-in-Trac\conf\password.digest,trac E:\water\Basket\Trac\All-in-Trac'

6 Trac 的缺陷

针对 Trac 0.12 来说的缺陷,

  • 没有办法来定制 component 和 sub-component 这样的层级关系;
  • 各种功能都齐全,可是各种功能都不强大,样样都不精;
  • 没有办法控制用户可以看到哪个 component 这样的权限,从而不方便对大型项目进行管理;
  • 好像没有语言包这种机制,不太好弄。
  • 没有办法用邮箱作为用户名。
  • 流程定制能力太差,好像没办法定制 driver 和 rider 之类的东西。
  • ower 这种东西,没有办法用下拉列表的方式来表示。

[fn:author] 台湾著名计算机技术作家。

这篇关于安装与使用 Trac 来管理项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178060

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传