現在沒有使用CVS或是SVN等版本控管系統來管理程式碼的軟體團隊應該是越來越少了,如果你是還沒這樣做的朋友之一的話,不管你們團隊有多少人,我們相 當建議您可以花一點點時間,架設您的SVN Server,請團隊成員裝好類似Tortoise SVN的Client程式。真的花不了很多時間!
給幾個網址給還沒有使用SVN的朋友們參考,其實很好找,Google一下就有:
我們選擇推薦給各位SVN而沒去選歷史更悠久的CVS,是覺得SVN的確比較好上手一點,並且解決了不少過去CVS容易碰到的 問題,而身為IT懶人,感覺暫時沒有必要去接觸更新的像是 git 等系統。一個不新不舊的SVN感覺剛剛好!
廢話說了這麼多,該進入主題了。一般大家使用SVN都是用來管理團隊每個人手上的程式碼版本,但是發現還不少團隊,尤其是使用需要編譯的Java語言的團隊,在 Deploy(部署)程式,也就是更新程式到測試網站或正式網站的時候,卻都得手動進行這些動作。
手動更新是一件非常麻煩的事情,其實作 者之前也因為太懶沒去想更好的方式,都是手動更新程式。但這真是麻煩的一件事!首先,你會搞不清楚哪些檔案有更新過,全部檔案丟上去又太多,甚至常常有些 檔案跟資料夾是該台Server專用不能更新,一更新就出毛病的狀況。手動更新,費時又容易出錯!
要能夠用SVN自動更新網站程式,哪些 檔案要放上SVN就要審慎考慮了。最重要的原則就是,每台電腦會有不一樣設定的檔案就不要放上去,例如資料庫的Data File、各網站自己的設定檔等。因此在第一次作Check In的時候,記得把剛剛提到所有沒有要放上SVN的程式碼,先暫時移到另外的目錄,等Check Out出第一個版本的時候,再把他們放回來,之後這些檔案就不會在SVN裡面了。
而如果你們目前已經有使用中的SVN,那就必須麻煩一 些,請所有人把local不要放在SVN的檔案都先暫時移出跟SVN同步的資料夾,然後其中一個人將這些檔案從SVN裡移除,所有人作一次update, 然後再把暫時移走的檔案搬回來。
而編譯過的檔案,例如Java的class和jar,過去很多人是不會把他放入SVN的,但是我們發現利 用SVN來更新程式實在是很方便,因此就只好用比較髒一點的方式,把所有一個server跑起來需要用到的class和jar通通放到SVN上面,如此一 來更新所有Test Server和Production Server都可以用一個SVN的命令就完成了!
還在為手動更新網站而苦惱 嗎?試試看這個小技巧吧!