centos搭建 SVN 服務器


1、安裝 SVN 服務端

  Subversion 是一個版本控制系統,相對於的 RCS 、 CVS ,采用了分支管理系統,它的設計目標就是取代 CVS 。

yum install -y subversion

2、創建 SVN 版本庫

2.1創建項目版本庫

mkdir -p /data/svn/test
svnadmin create /data/svn/test

3、配置 SVN 信息

配置文件簡介

版本庫中的配置目錄  conf 有三個文件:
  • authz 是權限控制文件
  • passwd 是帳號密碼文件
  • svnserve.conf 是SVN服務綜合配置文件

3.1配置權限配置文件 authz

編輯 authz ,內容參考如下:
[groups]            
#用戶組
admin = ,test  
#用戶組所對應的用戶
[/]                 
#庫目錄權限
@admin = rw         
#用戶組權限
*=r               
#非用戶組權限

3.2配置賬號密碼文件 passwd

編輯 passwd ,內容參考如下:
[users]
# harry = harryssecret
# sally = sallyssecret
test = 123456

3.3配置 SVN 服務綜合配置文件 svnserve.conf

編輯 svnserve.conf ,內容參考如下:
[general]
# force-username-case = none
# 匿名訪問的權限 可以是read、write,none,默認為read
anon-access = none
#使授權用戶有寫權限
auth-access = write
#密碼數據庫的路徑
password-db = passwd
#訪問控制文件
authz-db = authz
#認證命名空間,SVN會在認證提示里顯示,並且作為憑證緩存的關鍵字
realm = /data/svn/test

[sasl]

4、啟動 SVN 服務

4.1啟動 SVN

svnserve -d -r /data/svn

4.2checkout SVN項目

mkdir -p /data/workspace/test
svn co svn://127.0.0.1/test /data/workspace/test--username test--password 123456 --force --no-auth-cache

4.3提交文件到 SVN 服務器

從本地提交文件到 SVN 服務器,其中  root 密碼為  /data/svn/myproject/conf/passwd 文件存儲的密碼
cd /data/workspace/test
echo test >> test.txt
svn add test.txt
svn commit test.txt -m 'test'
提交成功后可以通過如下命令從本地項目刪除文件
cd /data/workspace/test
rm -rf test.txt
刪除后可以通過 SVN 服務器恢復
cd /data/workspace/test
svn update

 

注:如果在外網更新不了,請查看服務器是否開放3690,svn服務器默認使用3690

svn鈎子(hooks)自動部署代碼到test目錄

進入/data/svn/test/hooks

復制一份 post-commit 

cp post-commit.tmpl post-commit

編輯post-commit

#!/bin/sh
REPOS="$1"
REV="$2"
DIR="/data/workspace/test" 
export LANG
=en_US.UTF-8
CURDATE
='date'
echo
"Code Deployed By at $CURDATE,$REPOS,$REV" >> /svn/code_deploy.log
svn update $DIR
--username test--password 123456

 

最后post-commit添加執行權限

chmod +x post-commit

 

 

  掃二維碼,關注更多PHP資訊!

qrcode_for_gh_eca2f6d7a005_258.jpg

 

 


免責聲明!

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



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