centos yum安裝配置SVN subversion 並同步web目錄

在工作中總要實用SVN進行版本控制,每次完成後還需要手動打包傳到服務器的web目錄下是在麻煩,於是通過SVN的鉤子配置實現SVN提交後自動同步到web目錄省去打包複雜的麻煩。


一、基本環境

服務器系統: centos6.5

SVN subversion版本: 1.6.11版本 使用yum安裝的 如果需要新版本請編譯源碼安裝

WEB服務器:Apache


二、安裝SVN subversion

1、查看是否安裝過 

rpm -ql subversion

2、通過yum安裝   

yum -y install subversion
3、查看版本

svn --version


如果看到類似下面這樣就安裝完成

svn, version 1.6.11 (r934486)
   compiled Aug 17 2015, 08:37:43

三、配置SVN subversion

1、創建用戶用以TortoiseSVN客戶端連接

useradd -s /sbin/nologin sxfenglei

2、爲用戶設置密碼

passwd sxfenglei

3、防火牆開啓SVN默認端口3390如果使用別的端口請根據自身情況配置

特別聲明在修改前先備份防火牆配置文件,因爲有的時候是動態添加的規則,後期重啓將丟失

vim /etc/sysconfig/iptables

添加一條規則

-A INPUT -p tcp -m tcp --dport 3690 -j ACCEPT
重啓防火牆

service iptables restart


4、創建SVN項目

 svnadmin create /svnData/testProject
cd /svnData/testProject
會發現SVN生成了項目目錄

conf  db  format  hooks  locks  README.txt
/
  svnData
               testProject
                                conf
                                       authz
                                       passwd
                                       svnserve.conf
                                db
                                format
                                hooks
                                looks
                                README.txt

5、配置SVN

5.1配置用戶權限:修改vim /svnData/testProject/conf/authz 在末尾添加 SVN項目目錄和用戶權限  r讀  w寫  rw讀寫

[/testProject]
sxfenglei = rw
5.2配置登錄密碼: 修改vim /svnData/testProject/conf/passwd  增加登錄用戶名和祕密 這個用戶必須是已經在系統中創建的用戶(可以是onlogin級別的用戶)

[users]
# harry = harryssecret
# sally = sallyssecret
sxfenglei=123456
5.3配置SVN: 修改vim /svnData/testProject/conf/svnserve.conf 開啓以下配置

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = 提示描述內容


6、啓動SVN

//使用默認端口啓動
svnserve -d -r /svnData/testProject/

//使用指定端口
svnserve --listen-port 3691 -d -r /svnData/testProject

//查看允許的程序ID
netstat -nultp

//停止運行
kill -9 xxx

7、通過客戶端訪問,在客戶端TortoiseSVN訪問  svn://192.168.1.100/testProject 輸入賬號密碼 到此SVN配置完成。


三、SVN同步到web目錄

主要就是配置SVN的 hooks文件

3.1修改 /svnData/testProject/hooks/post-commit  文件

cd /svnData/testProject/hooks/
cp post-commit.tmpl post-commit
vim post-commit
REPOS="$1"
REV="$2"
SVN=/usr/bin/svn  #svn程序
WEB=/www/web/myProject/public_html/test
export LANG=en_US.UTF-8
$SVN update --username xiaolian --password xiaolian029 $WEB
chown -R www:www $WEB


3.2修改post-commit權限爲 0755

chmod 0755 post-commit

3.3 重啓SVN

netstat -nultp

kill -9 xxxx

svnserve -d -r /svnData/testProject


3.4抽出svn到服務器www目錄

svn checkout svn://114.215.98.96 /www/web/myProject/public_html/


3.5 通過客戶端提交更新將會自動同步到WEB服務器目錄















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章