搭建svn服务器,本文适合刚入门的,只是说一些搭建注意事项
linux下:
第一步:通过yum命令安装svnserver:
>yum -y install subversion
该命令会自动安装svn服务跟相关服务的依赖
安装完成后可以查看安装的位置(注:只是为了看安装的位置):
>rpm -ql subversion
第二步:创建版本库的目录(注:只是创建一个文件夹,方便放svn库):
>mkdir /var/svn/svnrepos
其中/var/svn/svnrepos可以更改为自己放的位置
第三步:创建svn版本仓库(注:这是防止svn仓库的相关文件):
>svnadmin create /var/svn/svnrepos/xxx (xxx为你预期的版本库名称,可自定义名字)
创建成功后进入库目录下:
>cd /var/svn/svnrepos/xxx
目录下可以看到如下的文件
上面我们已经建好了一个svn仓库
第四步:修改相应配置
在创建库后,进入库目录下,进入conf目录
>cd /var/svn/svnrepos/xxx/conf
conf目录如下
authz:账号的管理,控制账号的读写权限(在passwd中的账号权限在此处设置)
passwd:账号和密码的管理(访问的账号跟密码在此处设置)
svnserve.conf:svn服务器的配置文件
修改如下
-------------------------------------------------------------------------------------------------------------------------
编辑passwd文件内容,给svn添加账号密码(vi passwd)
格式为 : 账号=密码
,现在我们有用户了,再给用户授权(vi authz)
格式: 用户名=rw
rw代表读写
r 读 w写
svnserve.conf文件的修改
去掉以下标红的前面的#号。(注意顶格,前面不要有空格,本人就被空格坑过)
到此。我们svn 的配置基本完成
第五步(如果链接svn服务器失败处理)
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可
>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
>/etc/init.d/iptables save
>service iptables restart
添加防火墙规则,保存,
第六步:开启svn服务>svnserve -d -r /var/svn/svnrepos
启动后可通过ps -aux查看服务是否启动
重启使用kill -9杀死服务,再执行svnserve -d -r /var/svn/svnrepos
第七步:客服端访问svn
我们配置好后,在客服端输入地址:svn://ip地址:3690/xxx(ip为你svn服务器的ip,xxx为库名称,3690为默认的svn端口)
输入用户名跟密码,即可检出
检出失败检查下防火墙,配置文件的问题
上面配置好了svn的服务,下面开始将svn提交自动同步,
svn自动同步我们需要用到hook这个文件
在库目录下有这些文件(如上图),我们进入hooks文件,文件中的文件如下图
我们复制一份
使用vi post-commit编辑post-commit文件
结尾处添加如下内容
/usr/bin/svn 为svn库文件的路径
/yjdata/www/www/svnrepostest/mytest 为需要自动同步更新文件加的路径
--username xx 为你检出svn的用户名
--password xx 为你检出svn的密码
保存,重启svn服务
在需要更新的目录更新同步一下如:
我需要更新的目录在
/yjdata/www/www/svnrepostest/mytest
先进入/yjdata/www/www/svnrepostest/mytest 目录
执行 svn co svn://localhost/imobile --username xxx --password xxx
检出后。我们的代码自动同步就可以了
总之出了问题,检查配置,服务这些是否正常