Centos 搭建svn

yum install subversion    //安装svn

svnserve --version //查看版本

//创建test1 和 test2 文件夹
mkdir -p /var/svn/test1
mkdir -p /var/svn/test2


//创建svn版本库 文件夹下会生成对应的配置文件
svnadmin create /var/svn/test1
svnadmin create /var/svn/test2


//创建版本库公共配置文件,随便复制一个到/var/svn下
cp -r /var/svn/test1/conf /var/svn/conf


//清空刚才创建的项目版本库conf目录,删除库的所有配置文件
rm -f /var/svn/test1/conf/*
rm -f /var/svn/test2/conf/*

//进入/var/svn/conf
cd /var/svn/conf


authz -权限控制文件
passwd -账号密码文件
svnserve.conf -svn服务配置文件

格式  : 账号=密码

设置用户权限&项目分组 vi authz

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
test1 = user1,user2,user3,user4,user5
test2 = user1,user2,user3

在末尾添加如下代码:

[/]
* = r
root = rw

[test1:/]
@test1 = rw

[test2:/]
@test2 = rw

修改svnserve.conf文件 vi  svnserve.conf ,取消其中几行的注释,改变配置

   anon-access = none #匿名用户可读(none匿名不可读写)
   auth-access = write #授权用户可写
   password-db = ../../conf/passwd #使用哪个文件作为账号文件
   authz-db = ../../conf/authz #使用哪个文件作为权限文件
   realm = /var/svn # 认证空间名,版本库所在目录

启动svn版本库服务 

svnserve -d -r /var/svn(停止SVN命令  killall svnserve)

3690端口防火墙放行

然后就可以拉去svn的项目了

如果项目部署在服务器上面,想让svn提交的代码直接更新到项目目录,需要做以下操作

cd /www/wwwroot/test  #假设该目录为项目目录 
svn checkout svn://127.0.0.1/test /www/wwwroot/test --username username --password password #如果本机127.0.0.1 否则为你需要拉取得主机或者内网ip
cd /var/svn/test/hooks
cp /var/svn/test/hooks/post-commit.tmpl post-commit
chmod 777 post-commit
vim post-commit #之后删除最后一行 再添加一行
/usr/bin/svn update --username you_username --password you_password /www/wwwroot/test #保存退出

 

posted @ 2019-03-10 18:35  Master-lcf  阅读(324)  评论(0)    收藏  举报