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

 

 

posted @ 2019-07-17 11:00  张志健  阅读(3647)  评论(0编辑  收藏  举报