安装与使用 Trac 来管理项目
1?概要
以 Windows 平臺為例,講述一下有關(guān) Trac 的基本配置與使用,同時分享一下有關(guān) Trac 的項目管理經(jīng)驗。
2?安裝 Trac 前的準(zhǔn)備工作
2.1?準(zhǔn)備工作
安裝時,注意版本的問題。如setuptools-0.6c11.win32-py2.7就是用于windows 32位,python2.7的。
3?安裝 Trac
用 easy_install 來安裝 Trac,詳細(xì)的說明可以看官方文檔,或者在這一步,直接下載 Windows 的 Trac 安裝文件來進(jìn)行安裝,直接下載來安裝很方便,不過注意版本。
4?配置Trac環(huán)境
完成上述的安裝后,就可以創(chuàng)建一個 TracEnvironment,它是 Trac 存儲信息的地方,如 wiki pages, tickets, reports, settings 等。
4.1?通過 trac-admin 創(chuàng)建一個 Trac Environment
我的做法是先在d盤新建一個trac目錄,然后執(zhí)行:
$ trac-admin d:/trac/mytest initenv配置環(huán)境之前,注意此外trac-admin能用是因為加到了PATH環(huán)境變量里了。python里的script文件里有trac-admin.exe文件。將script文件目錄加到PATH變量里。
然后根據(jù)提示輸入項目的名字(myproject),數(shù)據(jù)庫連接字符串(默認(rèn)),你的源代碼資源庫路徑,根據(jù)相應(yīng)的提示,輸入相關(guān)信息即可。
如果提示如下錯誤:
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?運(yùn)行成功后,即可以開啟 Trac 服務(wù)
可以通過 tracd 命令來開啟 Trac 服務(wù),命令如下:
tracd --port 8000 E:\Trac\MyTest啟動成功后,即可通過網(wǎng)址:
http://localhost:8000/MyTest來訪問相關(guān)的 Trac 服務(wù),這時即訪問 MyTest 這個工程。
其它機(jī)器也可以通過訪問這臺機(jī)器的 IP 加端口來訪問這個服務(wù)。最基本、最簡單的使用,可以不用 Apache 來搭建 Web 服務(wù)器。
4.3?添加用戶(在用戶管理和身份驗證里有詳細(xì)說明)
剛安裝好的 Trac,并沒有提供一個用戶注冊面板,也沒有設(shè)置管理員權(quán)限,這個時候,我們需要自己來添加用戶。
這一點經(jīng)常讓我這種習(xí)慣了用其它管理系統(tǒng)的人摸不著頭腦,系統(tǒng)怎么沒有讓我設(shè)置相關(guān)的管理員用戶名和密碼呢?
最簡單的方法是這樣的:
直接用?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 管理員密碼的設(shè)置
單純把某個用戶添加到了工程里,并不能讓這個用戶有管理工程的權(quán)限,所以,需要單獨分配權(quán)限給這個用戶:
比如說,我要分本給 admn 這個用戶管理員權(quán)限,可以用下面的語句:
$ trac-admin /path/to/projenv permission add admin TRAC_ADMIN現(xiàn)在重啟一下 Trac 服務(wù)器,你再用 admin 登陸,就可以看到右邊有一個 Admin 的控制面板了。
最好的辦法,你給不同的 projects,添加不同的用戶名,為不同的 project,開啟不同的端口,這樣就不會相互影響了。
4.5?有了管理員密碼,就可以進(jìn)行一些基礎(chǔ)配置
- 不讓匿名用戶看到任何內(nèi)容
出于對工作及公司的安全性考慮,我們完全有理由不讓匿名用戶看到 Trac 里的任何內(nèi)容。
只需要在管理面板 Admin ==> General ==> Permissions 里,把 Subject 為 anonymous 的相應(yīng)權(quán)限全部去掉即可。
CANNOT INCLUDE FILE ../addon/ads-bar.org
5?更加高級的功能
5.1?用 Apache 服務(wù)器來提供網(wǎng)頁版服務(wù)
用第4種方法開啟的服務(wù),只能在本機(jī)使用,如果需要讓一個團(tuán)隊都能訪問的話,需要開啟一個 Apache 服務(wù)器。
http://trac.edgewall.org/wiki/TracInstall#RunningTraconaWebServer
5.2?提供網(wǎng)頁注冊用戶名等功能
可以直接用 easy_install 來安裝
注意一定要像圖中一樣,開啟那個右上角的 1 字符。
realm 的用處是區(qū)分這個用戶名屬于哪里的,現(xiàn)在這樣,很容易地區(qū)分出來。和之前 tracd 命令啟動時帶的參數(shù)一樣。
還可以針對不同的工程,設(shè)定不同的密碼文件,這樣可以有效地隔離不相干人群。
使用這個還有一個需要注意的,就是,公司內(nèi)部使用的話,可以把煩人的?Email Verification?關(guān)掉。
5.3?提供郵件發(fā)送 ticket 提醒等功能
用 Gmail 的話,可查看這篇日志,有關(guān)如何設(shè)置用 Gmail 來發(fā)提醒郵件的功能。
5.4?提供用戶名補(bǔ)全等功能
默認(rèn)情況下,Trac 需要你在分 Ticket 時,自己填空。在項目人員過多的情況下,這顯示是不現(xiàn)實的辦法。
還好,可以使用?AutocompleteUsersPlugin?這個來自動補(bǔ)全與提示,使用后感覺不錯。
5.5?導(dǎo)出為 Excel 或 Word
可以導(dǎo)出數(shù)據(jù)為 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 這種團(tuán)隊用的東西,備份是非常重要的。成一數(shù)據(jù)丟了,項目也就完蛋了。
Trac 支持熱備份,可以很方便地用下面的命令來對某個工程進(jìn)行備份:
$ trac-admin /path/to/projenv hotcopy /path/to/backupdir注意,這個只能是對工程一個一個的進(jìn)行備份,其實就是把 Trac 工程的所有文件都打了一個包。
所以,為了備份簡單,應(yīng)該要把密碼文件也放到 projenv 的目錄里,這樣備份起來,會一起把用戶名和密碼文件打包的。
只要備份完全,你完全可以在別外一臺機(jī)器上,在另一臺機(jī)器上配置好 Python 環(huán)境,再安裝好 Trac ,再把這些備份的文件,扔到一個運(yùn)行目錄里,再用同樣的命令就可以直接把該 project 跑起來了。
非常便利!
5.7?Trac 換主題
默認(rèn)的 Trac 主題并不算十分好看,這里有大把主題可以換:
http://trac-hacks.org/wiki/theme
5.8?Trac 上搭建一個博客系統(tǒng)
可以通過這個博客系統(tǒng)及時通知團(tuán)隊有什么新的更新內(nèi)容之類的。
安裝插件:Self-contained Blog plugin
5.9?Trac 作為服務(wù)程序開機(jī)啟動
對于 Linux 系統(tǒng)來說,需要添加一個開機(jī)啟動程序,還是很簡單的。可以使用 /etc/init.d 目錄下的腳本來完成這個任務(wù)。
詳細(xì)的腳本可以參考這個文章:Start Trac on Startup – Init.d Script for tracd
注意修改里面的 IP、端口以及目錄參數(shù)。我這里好像把IP設(shè)置成 127.0.0.1 好像并不能讓別人訪問,所以還是設(shè)成你電腦的正式 IP 比較好。或是有一個技巧,在這里直接把 IP 設(shè)為 0.0.0.0。
有了這個腳本,你只需要用如下命令重啟 tracd 服務(wù)器即可:
$ sudo /etc/init.d/trac start $ sudo /etc/init.d/trac stop如果是在 Windows 下,則有三種選擇來讓它開機(jī)啟動。我喜歡用 cygwin 的 cygrunsrv.exe 來安裝該服務(wù)。例如,如果我 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 系統(tǒng)服務(wù):
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 這樣的層級關(guān)系;
- 各種功能都齊全,可是各種功能都不強(qiáng)大,樣樣都不精;
- 沒有辦法控制用戶可以看到哪個 component 這樣的權(quán)限,從而不方便對大型項目進(jìn)行管理;
- 好像沒有語言包這種機(jī)制,不太好弄。
- 沒有辦法用郵箱作為用戶名。
- 流程定制能力太差,好像沒辦法定制 driver 和 rider 之類的東西。
- ower 這種東西,沒有辦法用下拉列表的方式來表示。
[fn:author] 臺灣著名計算機(jī)技術(shù)作家。
轉(zhuǎn)載于:https://www.cnblogs.com/ada-zheng/p/3311676.html
總結(jié)
以上是生活随笔為你收集整理的安装与使用 Trac 来管理项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos 7 安装 Haproxy
- 下一篇: CSS 基本样式