2009年8月3日 星期一

如何運用專案管理軟體維護論文

最近在研究專案管理的軟體,
深深的覺得專案管理真的有其必要性,
無論是在軟體開發或是人事配置的調動,
如果有一個好的管理流程,
都可以加快自己和大家做事的速度。
所以,今天突發奇想地想使用專案管理軟體來整理我的論文,
這樣一來,我可以追踪我自己論文的進度,也可以隨時提醒自己。
先前我已有打算使用git當作我寫論文的版本控制系統,
畢竟寫latex就跟寫程式一樣,有個版本控制系統也不為過。
那有什麼好的專案管理軟體可以和git搭在一起呢?
嘿嘿~~
答案呼之欲出啦!!!
就是Trac + git ~~~
沒錯,目前trac和git的整合性算是很高的,
不但可以利用trac中wiki做筆記,還可以用trac查看原始檔的變化。
相信有效利用這些工具可以完成很多事情。


安裝環境
作業系統: Debian
已安裝好的軟體:apache2


Step1 安裝git


sudo apt-get install git-core


Step2 安裝trac

sudo apt-get install trac libapache2-mod-python
sudo apt-get install trac-git

Step3 建立Repository
假設我在自己的家目錄底下建一個paper資料夾,並且在這個資料夾底下再開一個imitated_skew


mkdir ~/paper
cd ~/paper
mkdir imitated_skew
cd imitated_skew


首先用FTP將論文上傳到imitated_skew資料夾,
接著在這個資料夾底下開一個repository。


git init


這樣就可以在imitated_skew資料夾中看到一個.git資料夾,裡面包含了git的設定檔。
到這邊Server端已經設定好一個基本的repository。
接著就是要把Server端的repository clone回來,
為了方便操作,我在windows上的灌好了PortableGit-1.6.3.2和TortoiseGit-0.8.1.0,
所以只要在任意的資料夾上點選右鍵,就可以有Git的選項出來。如下圖所示:



這裡我是點選"Git Bash Here",因為我比較熟悉command line的操作,
接著會跑出一個提示命令字元,我們就可以下指令將Server端的資料抓回來,
底下我們輸入


git clone jay@140.xxx.xxx.xxx:/home/hdj/paper/imitated_skew imitated_skew


這裡的jay是Server上的帳號,140.xxx.xxx.xxx是Server的ip,/data/hdj/imitated_skew是Server上的repository的絕對位置,imitated_skew則是下載回來之後要取的資料夾名字。
按下Enter之後,可以透過ssh連線到Server,輸入完密碼後,資料就會下載回來了。
以上就是簡易的git設定,現在已經有一個基本的git server可以使用了。

其實只要做完以上動作git就算是設定完成了,
但是,如果要讓trac能讀取git的版本控制資料,我們必須提供一個bare的repository,
所以,我們要再新增一個資料夾,建立新的repository,
並且將剛才的資料push上去。

cd ~/paper
mkdir imitate_repo
cd imitate_repo
git --bare init
cd ../imitated_skew/
### 新增一個遠端的repository並上傳 ###
git remote add origin ../imitate_repo
git push origin master

Step4 設定trac

再來就是比較麻煩的trac設定,
首先一樣必須為trac建立一個資料夾 ~/trac/imitated_skew

mkdir ~/trac
cd ~/trac
mkdir imitated_skew
cd imitated_skew

接著起始化imitated_skew資料夾,讓他存放trac的設定檔。

trac-admin /home/hdj/trac/imitated_skew initenv

依照指示填入
1.project name: imitated_skew
2.使用的Database: (按Enter就可以用預設的trac.db)
3.使用的版本控制軟體: git
4.repository的路徑: /home/hdj/trac/imitate_repo
這樣就完成了基本的設定了,
接著修改conf/trac.ini,變動一些設定用以啟動git plugin。
新增一個[components]:

[components]
# for plugin version 0.10 (如果 trac 版本是 0.10, 下面 gitplugin 前的 # 要拿掉)
# gitplugin.* = enabled

# for plugin version 0.11.0.1+ (目前 Debian Testing 版 trac 為 0.11, 需要加這段)
tracext.git.* = enabled

並在[git]中修改git的路徑:

[git]
cached_repository = false
# git_bin must be set to git's absolute path
# or it will not work, "git" is not sufficient
git_bin = /usr/bin/git
persistent_cache = false
shortrev_len = 6

大致上trac的設定完成了,不過光是這樣還不夠,
必須設定virtual host才能透過web介面使用trac。
所以要修改/etc/apache2/site-available/default
並在之前加入


SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv "/home/hdj/trac/imitated_skew/"
PythonOption TracUriRoot "/trac/imitated_skew/"
AuthType Basic
AuthName "Paper Trac Server"
AuthUserFile /home/hdj/trac/imitated_skew/.htpasswd
Require valid-user



設定完virtual host之後,再來就是設定可以登入的使用者,
輸入以下指令就可以新增使用者:


sudo htpasswd -c /home/hdj/trac/imitated_skew/.htpasswd hdj


最後再重啟apache2,就可以連線到http://your_path/trac/imitated_skew/觀看結果。

參考來源:

http://blog.yam.com/wjyaries/article/18199573

http://wiki.ubuntu.org.cn/index.php?title=Trac%E7%9A%84%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE&variant=zh-hant
http://plog.longwin.com.tw/my_note-unix/2009/05/13/debian-linux-build-git-trac-2009
http://www.fwolf.com/blog/post/345
http://labs.kihomacapps.com/general/14/trac-gitplugin-on-ubuntu-810
http://cwlin0416.wordpress.com/2009/06/02/trac-subversion-apache-ldap-with-multiple-projects/
http://www.vixual.net/blog/archives/232

沒有留言:

Related Posts Plugin for WordPress, Blogger...