svn伺服器搭建和使用百度文庫
① 你好,用vss或svn管理軟體代碼,幾個人合作開發一個項目,如何做到項目所有代碼只掌握在一個項目主管手上
也解決這個問題,需要分三步:
1、在規劃源碼目錄結構的時候,盡量將每個開發人員所負責的文件夾分開,盡量避免多個人修改同一個文件夾下的內容。
2、在SVN許可權設置上,設置為每個開發人員只擁有自己所負責文件夾的讀寫許可權,對其他人負責的文件夾不給任何許可權,項目主管擁有所有文件夾的讀寫許可權。
3、實現源碼的自動編譯、部署到測試伺服器上,也就是說可以在需要測試的時候,自動將最新版的代碼編譯後發布到測試伺服器上,而不需要開發人員拿到所有的代碼自己去編譯部署。
其中第1、2步相對比較簡單,難在第3步。實現第3步關鍵是要改變測試習慣,需要將開發環境和測試環境分離,一般要有一台測試伺服器(可以考慮直接搭建在SVN伺服器所在的主機上),要測試時就通過某種方式將最新代碼編譯後部署到測試伺服器上,而不能是開發人員用自己的電腦來做測試伺服器。
具體有多種方式,比如大名鼎鼎的開源軟體hudson就是用來干這個的,用於實現系統的自動編譯、部署。
如果想簡單處理的話,可以用SVN的post-commit鉤子實現,這個鉤子存放於SVN伺服器端的hooks文件夾下,每次成功commit後都會自動觸發執行。你可以自己編輯這個鉤子的腳本內容,每次commit後將所有代碼checkout或update到測試伺服器上,並調用編譯工具進行編譯,最後部署到測試環境。
上面描述的只是一個簡單思路,如果要完善解決的話,必然涉及到版本庫的日常管理,需要區分出開發庫、測試庫,這必然要用到SVN的分支/標記功能,你可以看看我的網路文庫,有篇在windows下使用SVN的PPT,其中關於分支的那幾頁可能會對你有些啟發。
② 誰會用git-svn進行版本控制、就是類似svn里的checkout,import
通用方法:架設一個SVN伺服器,客戶端用TortoiseSVN
SVN伺服器建議架設到Apache上,方便以後管理
具體的安裝和使用,可以參考我的網路文庫,裡面有一篇項目組伺服器的安裝指南,還有一篇windows環境下使用SVN的操作PPT
③ 公司需要搭建一台SVN伺服器,最好在win xp下搭建。要求是內網和外網都能同事訪問SVN伺服器,怎麼做到
這個事情分成兩步:
1、架設SVN伺服器
2、開通外網訪問
對於第一步,網上有很多的文檔了,在我的網路文庫里也有兩篇SVN伺服器的架設指導,建議安裝Collabnet Subversion Edge版SVN伺服器,安裝配置很簡單,基本裝好就能用。
對於第二步,至少有兩種方案:
1、架設VPN,外網通過VPN連入內網後,就和在內網完全一樣了;
2、在公司的路由器上做個埠映射,將SVN伺服器的訪問埠(如Collabnet Subversion Edge版SVN伺服器採用的是http協議,默認是80埠)映射到公司外網IP的相應埠上,這樣訪問公司外網IP+SVN服務埠,就等於訪問公司SVN伺服器。
第二步的兩種方案雖然也不復雜,網上也能找到很多文檔參考,但還是建議你找網路專業人員幫你配置吧。