Linux centos7系統下svn的安裝與配置

1、安裝svnphp

  # yum -y install svnweb

 

2、查看svn版本信息安全

  # svnserve --version服務器

 

3、搭建svn版本庫(假設項目名稱爲project)tcp

  一、首先建立版本庫目錄svn

  # mkdir -p /var/svn/project工具

  二、建立版本庫post

  # svnadmin create /var/svn/project  //版本庫路徑跟上一步保持一致阿里雲

  前兩步執行完成後 在 /var/svn/project/ 路徑下就會建立一些版本配置、日誌等文件夾和文件,目錄以下spa

  

  後面主要修改的有 conf/ 和 hooks/ 兩個

  conf/

  

  hooks/

  

  三、設置svn帳號和密碼

  # vi /var/svn/project/conf/passwd  //這裏的文件路徑能夠用相對路徑,也能夠用絕對路徑。例如:當前位置在 /var/svn/project/conf/中,則 #vi passwd 便可打開passwd文件了

  打開文件後,英文狀態下按(i)鍵進入編輯模式,錄入帳號名和密碼。格式 username = password。

  編輯完成後,先點擊(Esc)鍵,而後同時按下(Shift+;),左下角出現(:),這時輸入wq點擊回車保存修改並退出。(lll¬ω¬)!!! 竟然在描述文本文件編輯命令,後面再碰見就不這麼詳細了喵″

  

  四、設置svn帳號的讀寫權限

  # vi /var/svn/project/conf/authz

  [group]爲帳號分組狀況。格式groupname = username_1,username_2,,,

  [project:/]
  @manager = rw  //賦予manager組成員整個項目的讀寫權限

  [project:/php]

  @php = rw     //賦予php組成員項目庫php分支的讀寫權限

  [project:/iOS]

  iOS_3 = rw    //賦予帳號iOS_3項目庫iOS分支的讀寫權限

  [project:/]

  * = r       //賦予全部成員整個項目讀取權限

  保存退出

  

  五、修改項目svn相關配置文件

  # vi /var/svn/project/conf/svnserve.conf

  找到圖中白色四行,去掉前面(#)便可,保存退出。

  

  六、啓動svn版本庫

  # svnserve -d -r /var/svn/

  這裏的注意一下,啓動svn版本庫時路徑最好寫至svn/,由於後面能夠再在該路徑下建立其餘項目版本庫,這樣就沒必要每一個項目都啓動一個svn進程了。

  七、查看svn進程

  # ps aux | grep svn

  

  八、端口設置

  # firewall-cmd --zone=public --add-port=3690/tcp --permanent  //開啓svn端口,若是使用的是阿里雲的服務器話,可能就要登錄阿里雲控制檯配置安全規則,具體配置方法阿里雲那邊有詳細說明。

  # systemctl restart firewalld.service                //重啓防火牆

  九、到這裏版本庫搭建就完成了。能夠到本地使用svn工具檢出看看

  

 

4、SVN實現自動更新WEB目錄

  前面有描述,svn項目下面有一個hooks/目錄,裏面存放的是所有的鉤子腳本的模板。

  進入svn項目下的hooks/文件

  # cd /var/svn/project/

  新建編輯客戶端提交後觸發的鉤子文件

  # vi post-commit

  編輯內容以下

#!/bin/sh
REPOS="$1"
REV="$2"

export LANG='zh_CN.UTF-8'

SVN_PATH=/usr/bin/svn
WEB_PATH=/var/www/project
SVN_USER=gaoyi
SVN_PW=gaoyi950815
LOG_PATH=/var/svn/project/log/svn.log

echo `datetime: "+%Y-%m-%d %H:%M:%S"` >>$LOG_PATH

$SVN_PATH update $WEB_PATH --username $SVN_USER --password $SVN_PW --no-auth-cache >>$LOG_PATH

  保存退出後修改其文件權限

  # chmod 777 post-commit

  這裏的鉤子文件就編輯完成了。

  接着就到服務器web目錄,也就是上面鉤子中的WEB_PATH下checkout項目了。操做以下

  # svn checkout svn://192.168.6.74/project/ /var/www/project/

  其中第三部分爲svn版本庫地址,第四部分爲web目錄也就是項目地址

  第一次checkout時會要求輸入用戶名和密碼以經過驗證。

  checkout成功以後,後面提交的更新就會自動同步到web目錄下來了。

  初次編寫博客,寫得有什麼不對或不明瞭的地方還請各位指正提示!

  謝啦!!☆⌒(*^-゜)v。

相關文章
相關標籤/搜索