SVN搭建以及自動更新

2021-08-18 15:34:57 字數 3097 閱讀 6233

svn搭建文件

一,svn說明

svn是subversion的簡稱,是乙個開放源**的版本控制系統,說得簡單一點svn就是用於多個人共同開發同乙個專案,公用資源的目的。

二,svn搭建

(一)yum安裝

1.安裝svn

yum install subversion

或者yum -y install subversion  --不需要輸入y

2.建立svn工作目錄

mkdir -p/data/svn

3.建立乙個版本庫

cd /home/svn;

mkdir svnproject1

svnadmin create /home/svn/svnproject1

ls /svn/project/

目錄用途說明

hooks目錄: 放置hook指令碼檔案的目錄 鉤子檔案

locks目錄: 用來放置subversion的db鎖檔案和db_logs鎖檔案的目錄,用來追蹤訪問檔案庫的客戶端

format檔案: 是乙個文字檔案,裡面只放了乙個整數,表示當前檔案庫配置的版本號

conf目錄: 是這個倉庫的配置檔案 (倉庫的使用者訪問賬號,許可權等)

4.配置svn服務的配置檔案svnserver.conf檔案

vim /home/svn/project/conf/svnserve.conf

配置檔案格式,前邊不能有空格

[general]

anon-access = none #匿名使用者不能訪問

auth-access = write #授權使用者可以讀寫

password-db = passwd #賬號相關配置

authz-db = authz #訪問許可權

realm = my test repository #提示資訊

儲存5.新增兩個訪問使用者及口令

vi /svn/project/conf/passwd

[users]

#設定乙個zhangsan的使用者密碼為123456 [注意開頭不能有空格存在]

zhangsan = 123456

儲存注意: 對使用者配置檔案的修改立即生效,不必重啟svn服務

5.配置新使用者的配置檔案

vi /svn/project/conf/authz

[groups]

#建立乙個admin使用者組

admin = zhangsan,test

@admin = rw

@user = r

儲存格式說明:

版本庫目錄格式:

[《版本庫》:/專案/目錄]

@《使用者組名》 = 《許可權》

《使用者名稱》 = 《許可權》

/ 表示對根目錄 (即/svn/project目錄) 下的所有子目錄範圍設定許可權;

[/abc] 表示對資料庫中abc專案設定許可權;

建立乙個admin組,組成員包括xiaoran.shen和test1

建立乙個user組,成員只有test2;

admin組對目錄有讀寫許可權

單個使用者test2有讀寫許可權

*=表示除了上面設定的許可權使用者組以外,其他所有使用者都設定空許可權,空許可權表示禁止訪問本目錄,這很重要一定要加上

注意: 對許可權配置檔案的修改立即生效,不必重啟svn

6.啟動svn服務

svnserve -d -r /home/svn/svnproject1/

注意:不要使用系統提供的 /etc/init.d/svnserve start 來啟動,因為系統預設的啟動指令碼中沒有使用 –r /svn/project引數指定乙個資源。這種情況下啟動的svn服務,客戶端連線會提示「svn: no repository found in 'svn:' 」這樣的錯誤。

預設svn伺服器端口是3690

殺死svn服務:

# ps -ef|grep svn

root      4642     1  0 16:08 ?        00:00:00 svnserve -d -r /svn/project/

root      4692  3676  0 16:13 pts/2    00:00:00 grep svn

# kill -9 4642

1.本地檢出

②、輸入賬號密碼

(一)原始碼編譯

一、配置svn自動更新

自動更新實現原理:在使用者每次提交檔案之後,自動執行鉤子檔案進行對svn目錄進行更新。

1.跳轉到svn的目錄下:

cd /home/svn/svnproject1

cd hooks  

2.新建鉤子檔案

#!/bin/sh

web=/var/www/html/mytest

export lang=en_us.utf-8

svn update $web --username zhangsan --password '123456'

儲存退出

3.賦予許可權

chmod 777 ./post-commit

4.測試自動更新

./post-commit

5.本次提交檔案測試自動更新

SVN搭建以及自動更新

svn是subversion的簡稱,是乙個開放源 的版本控制系統.說得簡單一點svn就是用於多個人共同開發同乙個專案,共用資源的目的。一 yum安裝 1 安裝svn yum install subversion 或者yum y install subversion 不需要輸入y mkdir p da...

python自動更新SVN

usr bin env python encoding utf 8 file svnupdate.py contact 512759438 qq.com author jian setting closeonend 0 不自動關閉對話方塊 closeonend 1 如果沒發生錯誤則自動關閉對話方塊 ...

懶人svn自動更新指令碼

需要更新的svn目錄多,人又想偷懶,不想乙個個點進去勤奮更新 1 首先你得安裝svn 2 多個目錄同時更新 3 需要考慮svn被鎖定需要清理的狀態 參考 參考 暫時沒想到命令列檢測svn是否需要清理的方法 我寫了兩個指令碼,乙個清理所有svn資料夾,乙個更新所有svn資料夾 echo off set...