linux 下 svn配置;以及多倉庫配置


http://www.linuxidc.com/Linux/2016-01/127679.htm

https://blog.csdn.net/mrwu9902/article/details/78695511

https://blog.csdn.net/jesonjoke/article/details/77094867

https://blog.csdn.net/dl425134845/article/details/41978541

http://www.cnblogs.com/yangwenpeng/p/7264955.html

多倉庫配置

一:

如何安裝SVN,這里就不再重復描述了,可以參見我另一篇文章。鏈接如下

http://blog.csdn.net/dl425134845/article/details/41209763

 

重點描述一下如何配置多個版本庫

進入到svn的安裝目錄/usr/local/svn/bin下,

 

先創建一個存放版本庫的路徑

mkdir -p /usr/local/svndata/

創建版本庫1

./svnadmin create /usr/local/svndata/repos1

創建版本庫2

./svnadmin create /usr/local/svndata/repos2

 

切換路徑至/usr/local/svndata/repos1/conf

這里面有3個文件,分別為authz、passwd、svnserve.conf;

將authz和passwd這2個文件復制到/usr/local/svn目錄下;

刪除當前目錄(/usr/local/svndata/repos1/conf)下的authz、passwd;

修改當前目錄(/usr/local/svndata/repos1/conf)下的svnserve.conf;

重點是修改這4個參數

anon-access = none
auth-access = write

password-db = /usr/local/svn/passwd    //這也是為什么上面講passwd復制到/usr/local/svn路徑下的原因

realm = XXXXX   //這是svn連接時的提示信息

切換路徑至/usr/local/svndata/repos1/hooks

復制post-commit.tmpl文件並且命名為post-commit,   命令如下: cp post-commit.tmpl  post-commit

修改post-commit文件的屬性,增加可執行權限,            命令如下:chmod -R +x post-commit

修改post-commit文件,,在末尾添加如下內容,把末尾幾行沒有注釋掉的注釋掉,修改內容如下:

WEB= /home/wwwroot/website1/                     //這里指向的是你web發布存放代碼的路徑
export LANG=en_US.UTF-8
/usr/local/svn/bin/svn update $WEB --username 用戶名 --password '密碼'

至此版本庫1修改完畢,同樣修改版本庫2,

 

關閉SVN,方法如下:

查看svn進程是否已經啟動,ps -ef|grep svn        然后輸入 kill 進程號 殺死該進程

 

啟動SVN

切換到/usr/local/svn/bin目錄下

輸入命令:./svnserve -d -r /usr/local/svndata                      //注意,這里只輸入到版本庫的父母錄即可,這樣會加載里面所有的版本庫

 

服務器上檢出
./svn co svn://本機ip地址/repos1   /home/wwwroot/website1

./svn co svn://本機ip地址/repos2   /home/wwwroot/website2

 結合 二;

引言 --- 上次我們介紹了 linux 上面安裝 SVN 這次我們介紹 使用 post-commit 鈎子,完成服務器自動更新

什么是 post-commit

利用SVN的POST-COMMIT鈎子自動部署代碼 我們在開發的過程將代碼提交到SVN后使用SVN的hook,通過post-commit腳本,在目 標文件夾根下執行svn update操作,將更新內容同步到測試環境,這樣開發調試非常方便。

如何做

  1. 當我們安裝建立好遠端倉庫后目錄結構如下

進入 hooks 目錄

shell cd hooks

hook 目錄結構

我們可以看到有個 post-commit.tmpl 的文件。 這是官方提供的一個 template 。我們直接 copy 這個文件

shell cp -f post-commit.tmpl post-commit

注意: copy 后的文件沒有后綴名稱

  1. 編輯 post-commit 文件

shell vi post-commit

刪掉除了第一行 #!/bin/sh 之后的所有文件 然后輸入

```shell
#!/bin/sh

/usr/bin/svn update --username wenpeng --password wp113000 /home/wechat_service
# svn 命令路徑 + update --username 您的用戶名 --password 您的密碼 您的服務器代碼項目目錄
```

  1. 即將完成 --- 最后一步 -- 修改權限

shell chmod +x post-commit

  1. Checkout一份代碼到您的服務器代碼項目目錄

shell /usr/bin/svn checkout svn://127.0.0.1/wechat /home/wechat_service

 

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

單倉庫配置;

一;

http://www.linuxidc.com/Linux/2016-01/127679.htm

 

 

 

安裝步驟如下:

1、yum install subversion

2、輸入rpm -ql subversion查看安裝位置,如下圖:

可以看到 svn在bin目錄下生成了幾個二進制文件。

再輸入/usr/bin/svnversion --version 就可以查看svn的版本,這樣就說明svn安裝成功,如下圖:

3、創建svn版本庫目錄 

 mkdir -p /var/svn/svnrepos

4、創建版本庫

svnadmin create /var/svn/svnrepos

執行了這個命令之后會在/var/svn/svnrepos目錄下生成如下這些文件

5、進入conf目錄(該svn版本庫配置文件)

authz文件是權限控制文件

passwd是帳號密碼文件

svnserve.conf SVN服務配置文件

6、設置帳號密碼

vi passwd

在[users]塊中添加用戶和密碼,格式:帳號=密碼,如dan=dan

7、設置權限

vi authz

在末尾添加如下代碼:

[/]

dan=rw

w=r

意思是版本庫的根目錄dan對其有讀寫權限,w只有讀權限。

8、修改svnserve.conf文件

vi svnserve.conf

打開下面的幾個注釋:

anon-access = read #匿名用戶可讀

auth-access = write #授權用戶可寫

password-db = passwd #使用哪個文件作為賬號文件

authz-db = authz #使用哪個文件作為權限文件

realm = /var/svn/svnrepos # 認證空間名,版本庫所在目錄

9、啟動svn版本庫

svnserve -d -r /var/svn/svnrepos

10、在Windows上測試

 

1.安裝svn

[plain]  view plain copy
 
  1. yum -y install subversion  

 

2.建立版本庫目錄並配置

[plain]  view plain copy
 
  1. mkdir -p /var/www/svndata  
  2. svnserve -d -r /var/www/svndata  

 

3.建立版本庫:創建一個新的Subversion項目

[plain]  view plain copy
 
  1. svnadmin create /var/www/svndata/project  

 

4.配置允許用戶kinder訪問

[plain]  view plain copy
 
  1. cd /var/www/svndata/project/conf  
  2. vi svnserve.conf  
[plain]  view plain copy
 
  1. [general]  
  2. anon-access=none  
  3. auth-access=write  
  4. password-db=passwd  
  5. vi passwd  
  6. [users]  
  7. kinder=123456  

 

5.客戶端連接

(如果svn未開啟,進行開啟操作)

 

[plain]  view plain copy
 
  1. svnserve -d -r /var/www/svndata  



[plain]  view plain copy
 
    1. svn co svn://127.0.0.1/project  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM