1馆类、安裝svn服務(wù)端:yum install subversion
2男娄、進(jìn)入目錄毅往,準(zhǔn)備創(chuàng)建svn目錄:cd /usr/local/
3檩淋、創(chuàng)建一個(gè)svn目錄:mkdir svnRepo
4芬为、修改目錄權(quán)限為777: chmod -R 777 svnRepo
5、創(chuàng)建一個(gè)svn版本倉庫test(test可以隨便起名字):svnadmin create/usr/local/svnRepo/test
6蟀悦、進(jìn)入first版本倉庫下的配置文件目錄:cd svnRepo/test/conf
7媚朦、修改svnserve.conf:
anon-access = none ? //默認(rèn)是只讀read
auth-access =write ? ?//認(rèn)證后有寫入權(quán)限
password-db =passwd ? //帳號密碼配置文件
authz-db = authz ? //權(quán)限配置文件
realm = test ? //改成自己的版本庫生效范圍
8、修改authz:
[group]
first= ddl,shl ? //創(chuàng)建一個(gè)first的組日戈,并制定兩個(gè)用戶ddl和shl
[/]
//制定根目錄下的權(quán)限
@first = rw//first組用戶權(quán)限為讀寫* = r ? ? //其他用戶只有讀權(quán)限
9询张、修改passwd:
[users]
ddl=123456 ? ? //用戶名 = 密碼
shl =123456 ? ?
10、設(shè)置自啟動:vim /etc/rc.local
添加:svnserve -d -r /usr/local/svnRepo/test
查找是否有svn的進(jìn)程:ps aux |grep 'svn'
殺死2505這個(gè)查找到的svn進(jìn)程:kill -9 進(jìn)程號
啟動svn: svnserve-d -r /usr/local/svnRepo/test? (可以把這個(gè)放到/etc/local/rc.local文件中涎拉,實(shí)現(xiàn)開機(jī)自啟動)
查看svn信息:netstat -anp|grep svnserve
現(xiàn)在用客戶端checkout應(yīng)該就可以了
11瑞侮、進(jìn)入svn倉庫hooks文件下:cp post-commit.tmpl post-commit
然后打開文件清空內(nèi)容,修改為以下代碼:
#!/bin/sh
export LANG=zh_CN.UTF-8
/usr/bin/svn update --username **** --password **** /var/www/test
其中第一行意思是:用sh來解析這個(gè)腳本鼓拧,因?yàn)楦鞣Nshell的語法有細(xì)微的差別
第二行是編碼格式:這里我使用的是UTF-8
最后一行/usr/bin/svn是svn的路徑半火,不是項(xiàng)目路徑,應(yīng)該都是一樣的季俩,后半句分別是用戶名钮糖、密碼、和項(xiàng)目路徑酌住。--username這個(gè)比較坑了店归,網(wǎng)上搜出來的很多都搞錯(cuò)了,前面其實(shí)是兩個(gè)減號酪我,英文輸入法下的消痛。
12、修改post-commit的可執(zhí)行權(quán)限:chmod 755 post-commit
13都哭、在服務(wù)器進(jìn)入項(xiàng)目目錄/var/www/testcheckout 整個(gè)項(xiàng)目秩伞。
注意此處不要checkout文件夾,正確代碼應(yīng)該是這樣:
svn checkout svn://{服務(wù)器地址}:{端口號}/test .//注意目錄后面還有一個(gè)點(diǎn)
注意:此處的/test 可不需要添加:(?添加的目的是為了實(shí)現(xiàn)多個(gè)項(xiàng)目欺矫。)
svn checkout svn://{服務(wù)器地址}:3690 .//注意目錄后面還有一個(gè)點(diǎn)
至此纱新,如果按照此步驟搞下來,應(yīng)該已經(jīng)沒有問題了穆趴,你可以本地commit代碼脸爱,自動同步到項(xiàng)目了。