A. svn 自動部署到web伺服器設置問題
修改伺服器上的鉤子程序post-commit,將指定要發布的內容的文件夾導出(export)到tomcat目錄下就行了
鉤子程序post-commit是在執行commit操作後自動執行的,這樣每次commit後都自動執行一次導出操作,保持tomcat文件夾內容就是所要發布的內容
---------------------------------------------------------------------------
補充:
例如你版本庫的svn訪問地址是http://10.30.11.12:8080/svn/project1,你想把這個版本庫下的/trunk/web文件夾發布到tomcat上,發布到tomcat的文件夾地址是d:/tomcat/opt/web,svn的管理員用戶名是abc,密碼是12345,那麼這個鉤子程序應該就是:
svn export http://10.30.11.12:8080/svn/project1/trunk/web d:/tomcat/opt/web --force --username abc --password 12345 --no-auth-cache
(本人對linux不熟悉,這行指令如有與linux語法不一致的地方,請參考原理自行修改)
說明:
1、--force 是說強制覆蓋d:/tomcat/opt/web這個文件夾,避免這個文件夾不為空時報錯
2、--username abc --password 12345 是自動將用戶名和密碼作為參數傳送進去
3、--no-auth-cache 是說不緩存用戶名和密碼,這是出於安全考慮
4、svn export 是將所指定的url的內容導出到所指定的文件夾去。這里之所以不用update而用export,是因為update會導致生成一個隱藏.svn文件夾,這個文件夾是我們不需要的
當然了,如果整個發布的內容很多的話,建議還是用update,而不用export,因為update只更新有變化的部分,而export將重新導出所有內容,網路消耗比update大。