1. 程式人生 > >linux安裝SVN並設定SVN鉤子

linux安裝SVN並設定SVN鉤子

linux安裝SVN並設定SVN鉤子

檢查已安裝版本

#檢查是否安裝了低版本的SVN

rpm -qa subversion

#解除安裝舊版本SVN

yum r ovesubversion

一.安裝SVN

yum -y install subversion

驗證安裝

檢驗已經安裝的SVN版本資訊

svnserve --version

程式碼庫建立

SVN軟體安裝完成後還需要建立SVN庫

mkdir  -p /www/svn/tata svnadmin create /www/svn/tata

執行上面的命令後,自動建立tata庫,檢視/www/svn/tata 資料夾發現包含了conf, db,format,hooks, locks, README.txt等檔案,說明一個SVN庫已經建立。

配置程式碼庫

進入上面生成的資料夾conf下,進行配置

cd /www/svn/tata/conf

使用者密碼passwd配置

vim passwd

修改passwd為以下內容:

[users] # harry = harryssecret # sally = sallyssecret
tata=123456

許可權控制authz配置

vim authz

目的是設定哪些使用者可以訪問哪些目錄,向authz檔案追加以下內容:

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=tata,company
[/]
@admin=rw

服務svnserve.conf配置

vim svnserve.conf

追加以下內容:

[general] #匿名訪問的許可權,可以是read,write,none,預設為read anon-access=none #使授權使用者有寫許可權 auth-access=write #密碼資料庫的路徑 password-db=passwd #訪問控制檔案 authz-db=authz #認證名稱空間,subversion會在認證提示裡顯示,並且作為憑證快取的關鍵字 realm = My First Repository

啟動SVN

svnserve -d -r /www/svn/tata

檢視SVN程序

ps -ef|grep svn|grep -v grep

檢測SVN 埠

netstat -ln |grep 3690

停止重啟SVN

另外提供關閉svn的命令:killall svnserve
開啟是svn的命令:svnserve -d -r /www/svn/tata

二.設定鉤子自動更新

實現SVN與WEB同步,可以CO一個出來,也可以直接用自動更新web目錄的方法,我們要在svn版本庫中配置鉤子來實現,就是建立一個post-commit的配置檔案,對其進行簡單的配置,簡簡單單的四步就可以實現Linux下SVN自動更新web目錄配置。 
第一步:建立你的web程式目錄

mkdir  / var /www/html/tata

進入你建立的web程式目錄(svn checkout可以簡寫為co)

checkout svn: //localhost/svntest //不重新命名資料夾,直接在當前目錄下檢出 checkout svn: //localhost/svntest test //檢出檔案並且重新命名資料夾

 第二步:在專案庫的 hooks/ 目錄下將post-commit.tmpl檔案複製一份並命名為 post-commit 檔案 【鉤子指令碼】

新增指令碼內容如下

export LANG=en_US.UTF-8 SVN=/usr/bin/svn            #這裡配置的是svn安裝bin目錄下的svn檔案 WEB=/ var /www/html/tata      #要更新的目錄 $SVN  update  $WEB  --username cqh --password 123456 chown  -R www:www   $WEB

其中SVN=右邊改成 svn 命令位置 
WEB=右邊改成你實際的web目錄

第三步:讓post-commit有執行的許可權

chmod  a+x post-commit

檢查已安裝版本

#檢查是否安裝了低版本的SVN

rpm -qa subversion

#解除安裝舊版本SVN

yum r ovesubversion

一.安裝SVN

yum -y install subversion

驗證安裝

檢驗已經安裝的SVN版本資訊

svnserve --version

程式碼庫建立

SVN軟體安裝完成後還需要建立SVN庫

mkdir  -p /www/svn/tata svnadmin create /www/svn/tata

執行上面的命令後,自動建立tata庫,檢視/www/svn/tata 資料夾發現包含了conf, db,format,hooks, locks, README.txt等檔案,說明一個SVN庫已經建立。

配置程式碼庫

進入上面生成的資料夾conf下,進行配置

cd /www/svn/tata/conf

使用者密碼passwd配置

vim passwd

修改passwd為以下內容:

[users] # harry = harryssecret # sally = sallyssecret tata=123456

許可權控制authz配置

vim authz

目的是設定哪些使用者可以訪問哪些目錄,向authz檔案追加以下內容:

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=tata,company
[/]
@admin=rw

服務svnserve.conf配置

vim svnserve.conf

追加以下內容:

[general] #匿名訪問的許可權,可以是read,write,none,預設為read anon-access=none #使授權使用者有寫許可權 auth-access=write #密碼資料庫的路徑 password-db=passwd #訪問控制檔案 authz-db=authz #認證名稱空間,subversion會在認證提示裡顯示,並且作為憑證快取的關鍵字 realm = My First Repository

啟動SVN

svnserve -d -r /www/svn/tata

檢視SVN程序

ps -ef|grep svn|grep -v grep

檢測SVN 埠

netstat -ln |grep 3690

停止重啟SVN

另外提供關閉svn的命令:killall svnserve
開啟是svn的命令:svnserve -d -r /www/svn/tata

二.設定鉤子自動更新

實現SVN與WEB同步,可以CO一個出來,也可以直接用自動更新web目錄的方法,我們要在svn版本庫中配置鉤子來實現,就是建立一個post-commit的配置檔案,對其進行簡單的配置,簡簡單單的四步就可以實現Linux下SVN自動更新web目錄配置。 
第一步:建立你的web程式目錄

mkdir  / var /www/html/tata

進入你建立的web程式目錄(svn checkout可以簡寫為co)

checkout svn: //localhost/svntest //不重新命名資料夾,直接在當前目錄下檢出 checkout svn: //localhost/svntest test //檢出檔案並且重新命名資料夾

 第二步:在專案庫的 hooks/ 目錄下將post-commit.tmpl檔案複製一份並命名為 post-commit 檔案 【鉤子指令碼】

新增指令碼內容如下

export LANG=en_US.UTF-8 SVN=/usr/bin/svn            #這裡配置的是svn安裝bin目錄下的svn檔案 WEB=/ var /www/html/tata      #要更新的目錄 $SVN  update  $WEB  --username cqh --password 123456 chown  -R www:www   $WEB

其中SVN=右邊改成 svn 命令位置 
WEB=右邊改成你實際的web目錄

第三步:讓post-commit有執行的許可權

chmod  a+x post-commit