Linux CentOS下配置SVN+SVN勾子
環境介紹:
操作系統:CentOS release 6.5 (Final) 64位
網絡環境:內網
1???配置SVN
1.1??安裝SVN組件包
使用yum安裝svn所需的組件包
#?yum?–y?install?subversion1.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?=?svn1.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目錄設置權限
權限主體可以是用戶組、用戶或*,用戶組在前面加@,*表示全部用戶。權限可以是w、r、wr和空,空表示沒有任何權限。
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,stringtry: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/repos2、編輯自動同步腳本
#?vim?svn_update.sh代碼如下
#!/bin/bash /usr/bin/svn?update??/linshi/repos?--username?test?--password?test if?[?$??==?0?]thenecho?"ok"?>>?/tmp/z.out fi其中:/linshi/為存放目錄(看環境而定)
?????--username? test 用戶名為test
?????--password? test 密碼為test
3、修改權限
#?chmod?+x??/root/svn_update.sh4、配置計劃任務
因腳本無法實現自動執行,故配置計劃任務設置每分鐘執行一次。
#?crontab??-e *??*??*?*??/root/svn_update.sh??>?/dev/null??2>&1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -----------小歡原創
轉載于:https://blog.51cto.com/x1aoxiao/1655046
總結
以上是生活随笔為你收集整理的Linux CentOS下配置SVN+SVN勾子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java内存模型的历史变迁
- 下一篇: 第05章笔记