1,服務端安裝svn
yum install subversion
如果已經安裝,通過命令查看版本
svn --version
2,創建倉庫
我們這裏在/home下建立一個名爲svn(此處我是用公司項目命名)的倉庫(repository),以後所有代碼都放在這個下面,創建成功後在svn下面多了幾個文件夾
mkdir svn
svnadmin create /home/svn
其中特別關注一下conf文件夾,這個是存放配置文件的
其中:
authz 是權限控制文件
passwd 是帳號密碼文件
svnserve.conf 是SVN服務配置文件
配置authz
配置passwd
配置svnserve.conf
3,啓動與停止svn
查看
svnserve -d -r /home/svn(啓動)
pkill svnserve(停止)
4,防火牆問題
要確保3690端口開放
阿里云云服務器安全組配置規則3690端口也要放開
5,客戶端svn安裝以及連接
svn checkout
6,svn項目手動同步和自動同步
手動同步
自動同步
svn代碼同步到項目中
使用post-commit 實現同步代碼
代碼同步需要使用到hooks文件目錄下的post-commit勾子文件,在hooks下很多tmpl文件,這些文件都是勾子的模板來的,
如果需要使用的時候copy 一份去掉.tmpl後綴便可使用
(1)生成一個新的有效的勾子文件post-commit
cp post-commit.tpml post-commit
chmod 777 post-commit //設置post-commit 文件的權限 切記這步一定不可漏,不然後期運行時會報錯
這樣就會生成一個有效的post-commit 文件
(2)同步代碼操作
export LANG=en_US.UTF-8
SVN_PATH=/usr/bin/svn
WEB_PATH= /var/svn/svnrepos/test //test目錄就行你的項目的目錄
$SVN_PATH update $WEB_PATH --username user1 --password 12345678 //切記--username --password 是兩個-
切記鉤子裏的賬號密碼要和conf裏的passwd裏的賬號密碼要一致