安装采用YUM一键安装:
1.环境Centos 6.6
2.安装svnyum -y install subversion
3.配置
建立版本库目录mkdir /www/svndata
svnserve -d -r /www/svndata
4.建立版本库
创建一个新的Subversion项目svnadmin create /www/svndata/project
5.版本库配置
进入对应的版本库如nilrxx,里面有一些自动给生成的文件。在conf目录下就是我们需要配置的三个文件:authz passwd svnserve.conf
现只记录我得成功配置如下:
5.1:打开svnserve.conf,打开下面这条语句的注释就行
password-db = passwd
5.2:打开passwd文件,加入一个用户并制定密码即可
ruanwenwu = 123456
6.开启svn服务
6.1: svnserve -r -T -d /www/svndata
解释:后面跟着的时仓库目录,并不是项目目录
6.2:将这个命令加入到开机启动:
vi /etc/rc.local
将6.1的命令加入到文件中即可
7.这时就可以将项目目录import到我们的项目仓库了
7.1:进入我们的项目目录比如:/home/wwwroot/www.doubilaile.com
cd /home/wwwroot/www.doubilaile.com
7.2: svn import ./ svn://192.168.1.233/project
运行这条命令可能出现$svnEditor环境变量的问题,只需要运行这条命令就行了:export SVN_EDITOR=vim
命令执行成功会弹出一个日志文件编写输入的情况,随便写两句保存即可。到这里项目就被导了进来。
8.到这里就可以打开window的svn客户端checkout项目了,路径是svn://192.168.1.233/project
如果碰到目标计算机积极拒绝的情况,请检查LINUX是否开启了防火墙,如果开启了就关闭。
查看防火墙状态:sevice iptables status;
关闭防火墙:service iptables stop;
永久关闭: chkconfig iptables off;
我们经常需要提交代码后同时在LINUX环境下进行测试。怎么办呢?可以利用svn的hook来解决。
利用SVN的钩子同步更新代码的方法详解
先普及一下小常识 SVN的钩子,即hook(在每个版本库下有hooks文件夹,里面有很多钩子程序,我的目录是/home/svn/fitness/hooks/)。在subversion执行一个操作时,就会相应的首先去调用相关的钩子程序。 我们在开发时都会建立测试环境,不需要每个人都Update到本地再测试。 基于SVN的这种特性,要想实现一个同步的测试服务器,我们只需要在用户执行完毕commit操作后,让钩子程序自动更新测试服务器的文件即可。 有了这样的思路,我们就开始建立post-commit的钩子吧 1、在网站的目录下,使用checkout命令建立一个副本 #svn co SVN_URL /var/www/mySite/ 例如:svn co svn://192.168.1.233/project /var/www/www.doubilaile.com/ 这句话的意思其实就是将仓库中得代码checkout到/var/www/www.doubilaile.com/这个目录下。 2、现在设置钩子,复制仓库project中的/hooks/post-commit.temp文件为post-commit,并修改文件的权限#chmod 755 post-commit 3、编辑post-commit,把以下代码写入#!/bin/sh
export LANG=zh_CN.GBK
svn update --username ruanwenwu --password 207099 /home/www/www.doubilaile.com
第一条命令是window本地字符编码,第二条是同步 大功告成,可以使用了。关于这个post-commit文件,可以完全采用上面的语句,不用管默认的。亲测可以通过。至此,一个完整的SVN同步,并在测试环境下同步的工作便完成了。
转载于:https://www.cnblogs.com/doubilaile/p/4591457.html