svn 部署和使用


此處不討論svn和git的優劣,目的只有一個,使用svn搭建開發、測試、生產環境, 使用svn進行代碼的管理和發布,並探索基於svn的工作流。

文章將會介紹一下內容:

  • 搭建開發、測試、生產環境
  • 一個簡單的開發、測試、線上部署例子

1、 搭建開發、測試、生產環境

1.1、安裝svn服務器

sudo yum install subversion

從鏡像下載安裝svn服務器端
中間會提示是否ok,輸入y,確認
安裝成功提示:…..complete!

1.2、創建項目源碼倉庫

cd /usr/local/
sudo mkdir svnRepo #創建svn倉庫目錄
sudo chmod 777 -R svnRepo/ #修改倉庫權限
svnadmin create /usr/local/svnRepo/first #創建項目倉庫目錄,名字隨便取

1.2.1、修改配置文件

每個svn項目倉庫都有三個配置文件:conf/authz、conf/passwd conf/svnserve.conf

cd svnRepo/first/conf/

(1) svnserve.conf //配置版本庫信息和用戶文件和用戶密碼文件的路徑、版本庫路徑

anon-access = none       #默認是只讀read
auth-access = write #認證后有寫入權限
password-db = passwd #帳號密碼配置文件
authz-db = authz #權限配置文件
realm = first #生效范圍 改成自己的項目版本庫名

(2) passwd //創建或修改用戶密碼

[users] 

aa= 123456 //用戶名 = 密碼
bb= 123456 //。。。

(3) authz //文件,創建svn組和組用戶的權限

[group]  
first = aa,bb //創建一個first的組,並制定兩個用戶aa和bb

[/] //制定根目錄下的權限
@first = rw //first組用戶權限為讀寫
# tom具有讀寫權限
#tom= rw

不要使用 *= r,不知為何,就是報錯

1.3、啟動項目版本庫

項目的版本倉庫准備好之后就可以啟動了,這樣svn客戶端才可能連接倉庫並進行相應的操作。

svn服務根目錄
如下,當前svnRepo目錄有兩個svn項目倉庫:

-bash-4.2$ pwd
/usr/local/svnRepo
-bash-4.2$ ll
total 8
drwxr-xr-x 6 hjs root 4096 Jul 2 12:46 first
drwxr-xr-x 6 hjs root 4096 Jul 2 14:27 second

以svnRepo作為服務根目錄啟動svn服務:

svnserve -d -r /usr/local/svnRepo/

svn客戶端資源路徑:

svn co svn://IP地址/first  #checkout first倉庫
svn co svn://IP地址/second #checkout second倉庫

svn服務和http網頁服務一樣,因為上述svnserve -d -r /usr/local/svnRepo/以svnRepo作為服務器根目錄,因此客戶端訪問資源的時候就是從svnRepo開始,比如checkout first項目代碼就是svn co svn://IP地址/first

經常聽到有的博客說什么單版本庫啟動、多版本庫啟動的,還說-r是區別,那是錯誤的,-d是以后台進程運行,-r是指定svn服務器的根目錄!具體可以執行svnserve --help

1.3、編寫post-comit腳本

#!/bin/sh


REPOS="$1" #項目倉庫的絕對地址
REV="$2" #第n次提交中的n

export PATH="/usr/local/svn/bin:$PATH" #由於代碼是apache的進程用戶www運行,所以需要設置環境變量

export LANG=zh_CN.UTF-8

#測試腳本
#echo ${1}" " ${2} 'hello woeld \n' >> /home/aa/test/post-commit.log

#腳本開始

2、一個簡單的開發、測試、線上部署例子

參考資料:
http://www.cnblogs.com/mitang/p/4309762.html
http://www.open-open.com/lib/view/open1376871583553.html


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com