第一步
把web目錄設置為工作目錄
"D:\Program Files (x86)\VisualSVN Server\bin\svn.exe" upgrade "D:\yiyun_www\test" --quiet --username chiyj --password chiyj
在DOS下執行。
第二步修改文件
D:\yiyun_code\test\hooks下新建文件
post-commit.bat 內容如下
@echo off
SET REPOS=%1
SET USER=%2
SET SVN="D:\Program Files (x86)\VisualSVN Server\bin\svn.exe"
SET DIR="D:\yiyun_www\test"
(call %SVN% update %DIR% --username chiyj --password chiyj --non-interactive)
參考 http://www.cnblogs.com/xiezhengcai/archive/2013/11/27/3445457.html
修改服務器上的鉤子程序post-commit,將指定要發布的內容的文件夾導出(export)到tomcat目錄下就行了
鉤子程序post-commit是在執行commit操作後自動執行的,這樣每次commit後都自動執行一次導出操作,保持tomcat文件夾內容就是所要發布的內容
---------------------------------------------------------------------------
補充:
例如你版本庫的svn訪問地址是10.30.11.12:8080/svn/project1,你想把這個版本庫下的/trunk/web文件夾發布到tomcat上,發布到tomcat的文件夾地址是d:/tomcat/opt/web,svn的管理員用戶名是abc,密碼是12345,那麼這個鉤子程序應該就是:
svn export 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大。
同步?樓主的問題描述不是很清楚啊,如果是上傳整個項目到svn的版本庫中,到社區裡面去看看相關操作視頻吧。
scmeye是目前國內最活躍的軟件配置管理社區,歡迎到社區中交流。
skyline是scmeye基於svn二次開發而成的管理工具,skyline是開源軟件,旨在幫助廣大SCM快速完成配置工作,歡迎前來交流
百度搜索 scmeye 即可