Windows下搭建的CVS服務器

導讀:
  【IT168 服務器學院通常搭建CVS服務器都是在Linux/Unix平臺上,但是在Windows平臺上,憑藉數目龐大的Open Source軟件,我們也同樣可以搭建一個適用於項目組的CVS服務器,並且還可以爲其添加源代碼跟蹤功能。
  一、需要的軟件
  1、CVSNT
  CVSNT是目前在Windows平臺上構建CVS服務器最方便的工具,操作簡單,以Windows服務程序的形式運行。目前CVSNT已被移植到其它平臺如Linux上。
  選用版本:2.0.58d。
  選用這個版本而不是最新的2.5.x的原因是2.5.x改變了History文件的格式,影響了我們後面介紹的CVSTracNT的運行。當然,如果你不使用CVSTracNT,選用2.5.x也沒有問題,其操作與2.0.58d基本相同,也十分的簡單。
  下載地址:http://www.cvsnt.org
  2、CVSTracNT
  CVSTracNT是一個基於Web的CVS源代碼跟蹤工具。使用CVSTracNT,你可以跟蹤源代碼的變更,提交任務單,創建里程碑,並通過Web的方式查看、比較源代碼文件。對於CVS系統本身來說,是一個非常有益的補充。
  選用版本:1.1.5 Build20050703多國語言版。
  這個版本由cnpack項目組的成員進行了漢化,並添加了許多實用的工具。具體的內容可以參考其中文網站。
  下載地址:http://www.cnpack.org/
  3、ViewCVS
  ViewCVS是一個用Python語言編寫的CVS Web界面。有了它,你可以通過瀏覽器查閱源代碼,進行版本比較。相對於CVSTracNT自帶的Web界面來說,ViewCVS更加有親和力,功能也比較完善。大名鼎鼎的SourceForge的Web界面就是使用ViewCVS搭建的。
  還有另外一個CVS的Web界面CVSWeb,用Perl語言開發。
  選用版本:1.0 dev r6。
  最新的版本,沒什麼好說的。
  下載地址:http://www.viewvc.org/
  4、Python
  讓ViewCVS運行起來,必不可少的就是Python。
  選用版本:2.4.1。其它2.4.x版本應該也可以,但注意和ViewCVS的版本要搭配。
  下載地址:http://www.python.org
  5、PyWin32
  Python語言的Win32擴展。
  選用版本:2.04 for Py 2.4。
  下載地址:http://starship.python.net/crew/mhammond/win32/Downloads.html
  6、Apache HTTP Server
  ViewCVS可以在IIS和Apache服務器上運行,考慮再三,最後選擇的Apache。雖然配置起來有些麻煩(其實也不麻煩),但考慮到Apache是開源項目,不會有法律問題,呵呵。
  選用版本:2.0.54。
  下載地址:http://apache.justdn.org/
  7、MySQL
  ViewCVS提供了查詢功能,使用的是MySQL數據庫。
  選用版本:3.23.42-nt。
  不要使用4.x版本的MySQL,與ViewCVS兼容不太好。
  二、安裝
  1、安裝CVSNT
  直接運行CVSNT安裝包。安裝結束後,打開Service Control Panel,配置你的CVS倉庫。點擊Repositories選項頁,添加你的倉庫地址就可以了,不需要重新啓動CVS服務器。
  2、安裝CVSTracNT
  直接運行CVSTracNT安裝包。感謝CNPack的程序員,如果按照CVSTracNT網頁上的安裝介紹,一定會鬱悶死。安裝結束後運行CVSTrac配置程序,程序啓動後會自動搜索CVS倉庫,將其添加到CVSTrac數據庫。選中數據庫,點擊瀏覽按鈕,你的瀏覽器應該打開並顯示CVSTrac的頁面了。
  CVSTracNT的使用及配置參考http://www.cnpack.org上的介紹。
  3、安裝Python及PyWin32
  運行安裝包即可。
  4、安裝Apache HTTP Server
  運行安裝包即可。如果在安裝過程中沒有選擇讓Apache自動運行,那麼可以通過開始菜單運行Apache。
  5、安裝MySQL
  運行安裝包即可。
  6、安裝ViewCVS
  最麻煩的地方到了。
  首先,將ViewCVS解壓縮到一個目錄中,然後在該目錄的命令行中,運行python viewcvs-install。安裝結束後,編輯viewcvs.conf文件,修改cvs_roots項爲你的CVS倉庫路徑,修改default_root項爲默認的CVS倉庫,還可以修改郵件地址項。
  然後拷貝web/cvs/viewcvs.cgi到你的Apache cgi-bin目錄中。
  運行Apache,在瀏覽器中輸入http://localhost/cgi-bin/viewcvs.cgi,看看你的ViewCVS是不是運行順利?
  現在我們要爲ViewCVS添加查詢功能了。
  運行MySQL的管理程序mysql,進入MySQL命令行模式,添加一個用戶viewcvs,並賦予其讀寫的權力。退出。在命令行下運行python cvsbdadmin CREATE,根據提示輸入數據庫名,用戶名和密碼,數據庫自動創建。
  編輯viewcvs.conf文件,修改cvsdb塊下的enabled選項值爲1,去除後面各項前的註釋符,修改各項的值爲前面設置的值。
  拷貝web/cgi/query.cgi到Apache cgi-bin目錄下。
  在瀏覽器中運行http://localhost/cgi-bin/query.cgi,看看結果……
  失敗了,系統提示Python錯誤。根據錯誤信息查到,錯誤處在dbi.py文件中。在dbi.py中有這樣一行:datetime.tuple()。查閱Python文檔,發現datetime對象沒有tuple方法,只有timetuple方法,更改之後,運行正常。
  三、總結
  以上的搭配方案適用於中小項目組,因爲CVSNT本身在應對大項目時有一些效率問題。如果你想用CVS管理上萬個源文件,那麼用Linux平臺搭建CVS服務器是更合適的選擇。
  無論如何,CVSTracNT都是你不該錯過的好東西,當項目逐漸膨脹起來後,讓CVSTracNT來管理一些機械的事情是一個好選擇。
  ViewCVS並不是必要的,但是比之CVSTracNT自帶的Web界面,ViewCVS要更舒服一些,某些功能也更清晰(比如版本比較)。讓你的上級通過ViewCVS來瀏覽你的工作情況也許是個好選擇,你不需要在Trac中爲他保留一個會擾亂正常工作程序的位置。
  總得來說ViewCVS的查詢功能並不是太方便,使用起來比較繁瑣,結論是不用也罷。安裝MySQL等等的繁瑣工作也就不需要了。
  我最遺憾的是,因爲時間的關係,並沒有建立SSL連接方式。從安全的角度來說,SSL也許是必不可少的,除非你的訪問者都值得信任。
  最後還要說的是,CVS雖然比較流行,但並不是源代碼管理的唯一選擇。在你作出決定之前,不妨先看看這篇文章:http://better-scm.berlios.de/comparison/comparison.html。

本文轉自
http://publish.it168.com/2006/0607/20060607018701.shtml
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章