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 #保存退出

浙公网安备 33010602011771号