網頁

2012年4月22日 星期日

建立Trac新專案的流程

安裝好svn、設好svn repository及trac後,依以下步驟來開立新專案

建DB

可以在command line下,輸入”mysql -u root -p”,再輸入以下兩個指令
//跟trac有關的DB都以trac開頭,這只是我的習慣來設定
CREATE DATABASE  `(專案目錄)` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON  `(專案目錄)` . * TO  '(使用者帳號)'@'localhost' WITH GRANT OPTION ;

建Trac專案

trac-admin (trac的安裝目錄)/(專案目錄) initenv
#填入project name: (專案名稱)
#填入db: mysql://(帳號):(密碼)@localhost/(專案目錄)
#所有跟trac相關的都用trac來管理

copy舊的trac.ini檔(這是自己先copy好的設定檔,在安裝前就設好的)

cp (trac的安裝目錄)/conf_bak/conf/trac.ini (trac的安裝目錄)/(專案目錄)/conf

新增Trac的admin及@knopath這個group的權限

trac-admin (trac的安裝目錄)/(專案目錄)  permission add admin TRAC_ADMIN
trac-admin (trac的安裝目錄)/(專案目錄)  permission remove anonymous '*' //要執行這個才能讓此trac在未登入的人完全無法使用

trac-admin (trac的安裝目錄)/(專案目錄)  permission add @user LOG_VIEW FILE_VIEW WIKI_VIEW WIKI_CREATE WIKI_MODIFY SEARCH_VIEW REPORT_VIEW REPORT_SQL_VIEW
trac-admin (trac的安裝目錄)/(專案目錄)  permission add @user TICKET_VIEW TICKET_CREATE TICKET_MODIFY BROWSER_VIEW TIMELINE_VIEW CHANGESET_VIEW ROADMAP_VIEW MILESTONE_VIEW

註:上述@user 可以自行定義,這個也算是使用者

copy舊的authz檔

cp (svn repository目錄)/conf/authz (svn repository目錄)/conf/(專案名稱)_authz

更動trac.ini的內容

vim (trac的安裝目錄)/(專案目錄)/conf/trac.ini

authz_file = (svn repository目錄)/conf/(專案目錄)_authz
database = mysql://(帳號):(密碼)@localhost/(專案目錄)
descr = (專案簡介)
name = (專案名稱)

更動此project目錄的權限

chown -R apache.apache (trac的安裝目錄)/(專案目錄)

更新此project的資料

trac-admin (trac的安裝目錄)/(專案目錄) upgrade

更動svn hooks

為了要讓svn上傳code時,能夠對上ticket,log上要加refs(fixed等) #1這幾個字外,還要在svn repository中的hooks放入post-commit,請執行copy底下這個file去你的svn repository中的hooks目錄下


post-commit的內容如下:
REPOS="$1"REV="$2"
`export LANG=zh_TW.UTF-8`LOG=`/usr/bin/svnlook log -r $REV $REPOS`AUTHOR=`/usr/bin/svnlook author -r $REV $REPOS`TRAC_ENV='(trac的安裝目錄)/(專案目錄)' /usr/bin/trac-admin $TRAC_ENV changeset added "$1" "$2"



一些跟trac有關的指令

trac-admin (trac的安裝目錄)/(專案目錄) repository resync "(svn repository)"

這些可以再寫成shell script來自動化。

沒有留言:

張貼留言