centos7 svn安裝和使用

1、安裝svn服務器:

yum install subversion

 

2、創建svn版本庫:

mkdir -p /var/svn/目錄     創建對應版本庫一般目錄名稱爲項目名稱,如:/var/svn/project1

3、配置文件

進入到創建的目錄下面的conf文件中,裏面有3個文件:passwd,authz,svnserve.conf
   
   passwd: 配置用戶的文件
    在文件最後面直接添加  username = password
    如添加一個admin用戶密碼爲123:admin = 123
   authz: 配置權限的文件
    在文件最後面直接添加 
        [/]
        username = rw
    username爲你前面添加用戶名稱,如admin,後面r是隻讀,w是隻寫,rw爲讀寫權限
   svnserve.conf: svn配置文件
    我是直接把下面這些的註釋去掉了,注意配置前面不能有空格

    anon-access = none 
    #不允許匿名訪問,read爲允許匿名訪問;

    auth-access = write 
    #允許可寫;

    password-db = passwd
    #密碼數據庫,同目錄剛剛編輯的文件

    authz-db = authz 
    #控制權限數據庫,,同目錄剛剛編輯的文件

    realm = /var/svn/project
    #對應目錄,爲當前目錄

 

4、啓動svn服務:

svnserve -d -r /var/svn/
        參數:
            -d:表示後臺運行守護模式;
            -r:表示svn服務的根目錄;

  檢測svn端口3690是否已經監聽:
    netstat -lntup | grep 3690   
  需要注意事項: 
    1、注意防火牆是否開啓3690端口。(怎麼設置防火牆網上百度一大把,我是直接關閉了防火牆。centos7.2的命令是:systemctl stop firewalld.service)  
    2、如果是阿里雲、騰訊雲之類的,需要到控制檯,實例的安全組中設置開啓3690端口。(阿里云爲例:ESC->安全組->配置規則->添加安全組規則:(協議類型:tcp;端口範圍:3690/3690;授權對象:0.0.0.0/0) )

 

5、重啓svn:

pkill svnserve
#殺死svn進程  

svnserve -d -r /var/svn/
#啓動svn

每次修改配置(svnserve.conf)需要重啓服務,修改另外2個不需要重啓

6、客戶端使用:

1、創建項目目錄:
    mkdir /home/www

2、從svn提取數據
    svn checkout svn://127.0.0.1/project /home/www --username admin --password 123
    或者:
    svn co --username admin--password 123 svn://127.0.0.1/project /home/www


3、提交數據:
     touch /home/www/trunk/test2.txt
     svn add /home/www/trunk/test2.txt
     svn ci -m "test2.txt"  /home/www/trunk/test2.txt

     ci簡稱:commit;
     co簡稱:checkout;

     注意:提交時,先add,再commit;


4、設置更新、自動更新項目,svn鉤子腳本:
    手動更新:
         svn update /home/www --username admin --password 123 
    自動更新:
    在  /var/svn/project/hooks   目錄下創建一個 post-commit 文件(改文件爲每次提交後執行的腳本)
    文件添加內容爲:
       
#!/bin/bash
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
WEB_PATH=/home/www  #目標路徑
SVN_USER=admin    #用戶名
SVN_PASS=123    #密碼
LOG_PATH=/home/svnlog/web.log    #每次處理日誌記錄
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH    #更新項目

chown -R 777 $WEB_PATH

 

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