1. 程式人生 > >阿里雲ECS ubuntu 14.04 搭建svn以及使用實踐記錄

阿里雲ECS ubuntu 14.04 搭建svn以及使用實踐記錄

1.   安裝SVN

apt-get install subversion

2.    建立版本庫

2.1先建立SVN版本庫目錄

mkdir /home/svn  理論上是放到任何地方都可以的,也可以選擇放到/var/www/

/home/svn   所有版本庫的目錄

mkdir /home/svn/project1  專案1的版本庫目錄

mkdir /home/svn/project2  專案2的版本庫目錄

2.2 建立SVN專案

svnadmin  create /home/svn/project1

svnadmin create /home/svn/project2

3.   為了便於管理,將所有版本庫的密碼和許可權設定在同一個檔案下面,操作步驟如下:

3.1取出project1下面conf資料夾下的authz和passwd兩個檔案到svn根目錄

3.2修改每個版本庫目錄conf資料夾下面的svnserve.conf檔案, 將

# anon-access =read ,#auth-access =write ,# password-db =passwd,#authz-db = authz 修改為:

anon-access =none ,auth-access=write,password-db =../../passwd,authz-db =../../authz

     (password-db = ../../passwd,authz-db = ../../authz代表相對路徑而非絕對路徑)

所有行都需要頂格

4.   新增角色:

開啟svn目錄下的passwd檔案,建立方法是在[user]下面新增 username = passwd,格式的使用者名稱密碼

 

5.   設定許可權:

開啟svn目錄下的authz檔案,在[group]下面加上


指admin使用者屬於 admin_group 組     dev1使用者屬於p1組   dev2使用者屬於p2組

svn根目錄下 admin_group,p1,p2組給讀寫許可權


因為project1 與project2 都是用同一個authz檔案所以這裡的根目錄是指/project1  也是指  /project2

6.   啟動svn服務

svnserve -d -r /home/svn

可以通過命令  netstat -antp |grep svnserve 監聽3690埠

這裡有一個坑,這些埠(包括803306等)阿里雲的ECS預設都是關閉的,都需要去例項那裡開啟一個埠准入策略

如果想關閉服務,用命令 pkillsvnserve

7.   建立自動更新鉤子

7.1在伺服器相應的網站目錄checkout 一個svn版本,讓程式碼與svn倉庫建立連結

cd /var/www/html

svn checkout svn://你的svn地址/專案

然後系統會要求輸入 root 賬戶的密碼

之後要輸入 對應的svn使用者密碼

複製project1/hooks/post-commit.temp檔案為post-commit

#!/bin/sh

REPOS="$1"

REV="$2"

svn up /var/www/project1/ --username=admin--password=admin

在post-commoit檔案裡面寫入以上藍色程式碼

大功告成!!!!!!!!!!!!!!!!!