Linux CentOS下配置SVN+SVN勾子

環境介紹:

操作系統:CentOS release 6.5 (Final) 64位

網絡環境:內網


1   配置SVN

1.1  安裝SVN組件包

使用yum安裝svn所需的組件包

# yum –y install subversion

1.2  配置SVN

1.2.1  創建svn庫路徑

創建svn庫路徑,該目錄後期提供用戶文件寫入和讀取。

# mkdir -p /date/svn/

1.2.2  創建SVN版本庫

使用特定的命令來創建版本庫,創建成功後該目錄會出現SVN配置文件。

# svnadmin create /date/svn/

1.2.3  定義配置文件

#vim /opt/svndata/repos1/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd   #定義用戶密碼的配置文件
authz-db = authz       #定義用戶權限的配置文件
realm = svn

1.2.4  用戶權限配置

1、創建svn訪問用戶

#vim /data/svn/passwd
[users]
test = test              創建了一個叫tset密碼爲test的用戶

2、配置用戶訪問權限

#vi /opt/svndata/repos1/conf/authz
[groups]
admin = test
# harry_and_sally = harry,sally
[/]
@admin = rw
[repos1:/abc/aaa]
@admin = r

版本庫目錄格式:

[<版本庫>:/項目/目錄]    #是以項目名作爲第一個單位。試想肯定是以項目爲單元的

@<用戶組名> = <權限>

<用戶名> = <權限>

其中,方框號內部分可以有多種寫法:

/,表示根目錄及以下。根目錄是svnserve啓動時指定的,我們指定爲/opt/svndata。這樣,/就是表示對全部版本庫設置權限。

repos1:/,表示對版本庫1設置權限

repos2:/abc, ,表示對版本庫2中的abc項目設置權限

repos2:/abc/aaa, ,表示對版本庫2中的abc項目的aaa目錄設置權限

權限主體可以是用戶組、用戶或*,用戶組在前面加@*表示全部用戶。權限可以是wrwr和空,空表示沒有任何權限。

1.2.5  啓動SVN

# svnserve -d -r /date/svn/

-d表示以daemon方式(後臺運行)運行

-r /date/svn指定根目錄是/date/svn

1.3  配置鉤子

1.3.1  配置版本檢測工具

自己利用python寫了一個自動檢測庫裏面文件版本的工具。代碼如下:

# vim /date/svn/hooks/gouzi.py
#!/usr/bin/env python
if __name__=='__main__':
   importsys,string
   try:
    logfile= open('/tmp/python.out','a+')
   logfile.write("this is python hook")
   logfile.close()
   except:
    exit(1)
  sys.exit(0)

此工具需放在庫目錄中的hooks目錄中。

1.3.2  配置UPDATE腳本

1、首先在客戶端上手工checkout一次

# svn checkout svn://192.168.21.28/repos

2、編輯自動同步腳本

# vim svn_update.sh

代碼如下

#!/bin/bash
/usr/bin/svn update  /linshi/repos --username test --password test
if [ $? == 0 ]
  then
         echo "ok" >> /tmp/z.out
fi

其中:/linshi/爲存放目錄(看環境而定)

     --username  test 用戶名爲test

     --password  test 密碼爲test

3、修改權限

# chmod +x  /root/svn_update.sh

4、配置計劃任務

因腳本無法實現自動執行,故配置計劃任務設置每分鐘執行一次。

# crontab  -e
*  *  * *  /root/svn_update.sh  > /dev/null  2>&1



                                                  -----------小歡原創


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