您好,登錄后才能下訂單哦!
1、介紹
Subversion是一個自由,開源的版本控制系統,這個版本庫就像一個普通的文件服務器,不同的是,它可以記錄每一次文件和目錄的修改情況。這樣就可以很方面恢復到以前的版本,并可以查看數據更改細節。目前,Subversion已成為主流的開源代碼版本管理軟件之一,簡稱SVN。
2、SVN相關命令了解
svn:命令行客戶端
svnadmin:用來創建、調整或修復版本庫的工具
svnserve:svn服務程序
svndumpfilter:過濾svn版本庫轉儲數據流的工具
svnsync:svn數據同步工具,實現另外存一份相同的
svnlook:用來查看辦本科中不同的修訂版和事務
3、兩種運行模式
3.1 利用svnserve作為獨立服務運行,通過svn協議訪問
3.2 借助mod_dev_svn模塊,由apache服務運行(Web/DAV),通過http或https協議訪問。想了解此運行模式可以參考著篇博文:http://lizhenliang.blog.51cto.com/7876557/1340646
4、安裝與部署
對于Ubuntu來說,裝個SVN是件很容易的事,可以直接通過apt軟件包管理安裝。
4.1 直接安裝
# sudo apt-get install subversion
4.1 創建版本庫
# sudo mkdir –p /srv/svn/eweb
# sudo svnadmin create /srv/svn/eweb
4.2 了解版本庫
# 進入版本庫查看生成的相關文件
# ls /srv/svn/eweb
conf db format hooks locks README.txt
# 我們主要關心的是conf和db文件,conf文件夾下是存放主配置文件和用戶、權限位置,db文件夾是存放svn轉儲后的數據。
# ls /srv/svn/eweb/conf
authz passwd svnserve.conf
# authz文件是設置用戶權限,passwd文件是存儲用戶及密碼,svnserve.conf是主配置文件,先配置主配置文件。
4.3配置版本庫
# sudo vi svnserve.conf #將以下參數去掉注釋(要頂格)
[general]
anon-access = none #匿名訪問權限,默認read,none為不允許訪問
auth-access = write #認證用戶權限
password-db = passwd #用戶信息存放文件,默認在版本庫/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組為讀寫權限
@manager = rw
[eweb:/media] #php組對eweb版本庫下media目錄為讀寫權限
@php = rw
4.4 啟動svn服務
# sudo svnserve -d -r /srv/svn --listen-port 21321
4.5關閉svn服務
#sudo pkill svnserve
5.創建web訪問目錄
#mkdir -p /var/www/eweb 我的web在這里根據自己機器環境定
5.1設置鉤子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
添加如下內容
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
從新啟動服務
#sudo pkill svnserve
#sudo svnserve -d -r /srv/svn --listen-port 21321
6.在終端下執行如下命令
#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中密碼使用特殊字符需要用單引號引用,否則會報錯bash不解析。
7.客戶端驗證,寫phpinfo文件通過瀏覽器訪問測試。
8.為了方便以后啟動關閉在sbin建立svn啟動腳本
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。