溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ubuntu14.04安裝svn設(shè)置post-commit鉤子

發(fā)布時(shí)間:2020-06-27 07:40:52 來源:網(wǎng)絡(luò) 閱讀:350 作者:sendmailbaby 欄目:開發(fā)技術(shù)

1、介紹

  Subversion是一個(gè)自由,開源的版本控制系統(tǒng),這個(gè)版本庫就像一個(gè)普通的文件服務(wù)器,不同的是,它可以記錄每一次文件和目錄的修改情況。這樣就可以很方面恢復(fù)到以前的版本,并可以查看數(shù)據(jù)更改細(xì)節(jié)。目前,Subversion已成為主流的開源代碼版本管理軟件之一,簡稱SVN。

2、SVN相關(guān)命令了解

  svn:命令行客戶端

  svnadmin:用來創(chuàng)建、調(diào)整或修復(fù)版本庫的工具

  svnserve:svn服務(wù)程序

  svndumpfilter:過濾svn版本庫轉(zhuǎn)儲數(shù)據(jù)流的工具

  svnsync:svn數(shù)據(jù)同步工具,實(shí)現(xiàn)另外存一份相同的

  svnlook:用來查看辦本科中不同的修訂版和事務(wù)

3、兩種運(yùn)行模式

  3.1 利用svnserve作為獨(dú)立服務(wù)運(yùn)行,通過svn協(xié)議訪問

  3.2 借助mod_dev_svn模塊,由apache服務(wù)運(yùn)行(Web/DAV),通過http或https協(xié)議訪問。想了解此運(yùn)行模式可以參考著篇博文:http://lizhenliang.blog.51cto.com/7876557/1340646

4、安裝與部署

對于Ubuntu來說,裝個(gè)SVN是件很容易的事,可以直接通過apt軟件包管理安裝。

  4.1 直接安裝

  # sudo apt-get install subversion

  4.1 創(chuàng)建版本庫

  # sudo mkdir –p /srv/svn/eweb  

  # sudo svnadmin create /srv/svn/eweb

  4.2 了解版本庫

  # 進(jìn)入版本庫查看生成的相關(guān)文件

  # ls /srv/svn/eweb

  conf  db  format  hooks locks  README.txt

  # 我們主要關(guān)心的是conf和db文件,conf文件夾下是存放主配置文件和用戶、權(quán)限位置,db文件夾是存放svn轉(zhuǎn)儲后的數(shù)據(jù)。

  # ls /srv/svn/eweb/conf

  authz  passwd  svnserve.conf

  # authz文件是設(shè)置用戶權(quán)限,passwd文件是存儲用戶及密碼,svnserve.conf是主配置文件,先配置主配置文件。

  4.3配置版本庫

 # sudo vi svnserve.conf  #將以下參數(shù)去掉注釋(要頂格)

  [general]

  anon-access = none    #匿名訪問權(quán)限,默認(rèn)read,none為不允許訪問

  auth-access = write   #認(rèn)證用戶權(quán)限  

  password-db = passwd #用戶信息存放文件,默認(rèn)在版本庫/conf下面,也可以絕對路徑指定位置

  authz-db = authz

 # sudo vi passwd     #格式是用戶名=密碼,采用明文密碼

  [users]

  xiaoming = 123

  zhangsan = 123

  lisi = 123

  zhangchengjie = zhangchengjie@!2016   

 # sudo vi authz 

  [groups]           #定義組的用戶

  manager = xiaoming

  php = zhangsan,lisi,zhangchengjie

  [eweb:/]          #以根目錄起始的eweb版本庫manager組為讀寫權(quán)限

  @manager = rw

  [eweb:/media]     #php組對eweb版本庫下media目錄為讀寫權(quán)限

  @php = rw

  4.4 啟動(dòng)svn服務(wù)

  # sudo svnserve -d -r /srv/svn --listen-port 21321Ubuntu14.04安裝svn設(shè)置post-commit鉤子

  4.5關(guān)閉svn服務(wù)

  #sudo pkill svnserve

5.創(chuàng)建web訪問目錄

  #mkdir -p /var/www/eweb 我的web在這里根據(jù)自己機(jī)器環(huán)境定

  5.1設(shè)置鉤子post-commit

  #sudo cp /srv/svn/eweb/hooks/post-commit.tmpl /srv/svn/eweb/hooks/post-commit

  #sudo vim /srv/svn/eweb/hooks/post-commit

  添加如下內(nèi)容

  export LANG="en_US.UTF-8"

  SVN=/usr/bin/svn 

  WEB=/var/www/eweb

  $SVN update $WEB --no-auth-cache --non-interactive --username zhangchengjie --password 'zhangchengjie@!2016'

  chown -R www:www $WEB

  chmod +x post-commit

  從新啟動(dòng)服務(wù)

  #sudo pkill svnserve

  #sudo svnserve -d -r /srv/svn --listen-port 21321

6.在終端下執(zhí)行如下命令

  #svn co svn://127.0.0.1:21321/eweb /var/www/eweb --username zhangchengjie--password ‘zhangchengjie@!2016’

  注意:127.0.0.1/eweb是svn倉庫名,/var/www/eweb是web目錄,如果在password中密碼使用特殊字符需要用單引號引用,否則會(huì)報(bào)錯(cuò)bash不解析。

7.客戶端驗(yàn)證,寫phpinfo文件通過瀏覽器訪問測試。

Ubuntu14.04安裝svn設(shè)置post-commit鉤子


Ubuntu14.04安裝svn設(shè)置post-commit鉤子

8.為了方便以后啟動(dòng)關(guān)閉在sbin建立svn啟動(dòng)腳本

vim /sbin/svn


  1 #!/bin/bash

  2 #autor:boy

  3 #date:2016/7/28

  4 # startup/stop/restart svn services

  5 

  6 ####### start ##############

  7 

  8 case "$1" in

  9         start)

 10                 sudo svnserve -d -r /srv/svn --listen-port 21321

 11         ;;

 12 

 13         stop)

 14                 sudo pkill svnserve

 15         ;;

 16 

 17         *)

 18                 echo "Usage:start,stop"

 19         ;;

 20 

 21 esac

chmod 755 /sbin/svn
sudo /sbin/svn stop

sudo /sbin/svn start

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI