安装部署svn在linux
首先用centOs强大的yum来安装svn
yum install subversion
等待些许时间,一般不会太久,如果太久了,可能就是你的网不好.
然后创建一个版本库的目录,用来存放各种版本库.
mkdir -p /home/svn
这个home下面的svn文件夹就是后面用来存放svn版本库的svn不同的版本库就是不同的文件夹.然后再用svn的命令创建一个版本库
svnadmin create /home/svn/warTwo
这个warTwo就是我需要创建的一个版本库,创建后就会在svn文件夹下面发现一个warTwo文件夹,接下来需要修改里面一些文件,可以用linux命令,也可以用其他的一些工具,我自己是用的宝塔面板,比起以前用命令行确实感觉上要方便那么一点点.
进入conf文件夹修改配置文件svnserve.conf
红框里面的几行注释去掉,
anon-access = none这行禁止匿名访问
realm = /home/svn/warTwo这一行写版本库的地址.
然后进入conf文件夹修改passwd
然后进入conf文件夹修改authz
这样指定用户就拥有了读写的权限,groups这个是分组相关的,有些多人开发的不需要其他文件夹的权限也可以单独设置.保存退出后,开启防火墙的端口默认3690,宝塔安全里面开放3690端口,腾讯云和阿里云防火墙也要开放3690TCP.有的自带防火墙需要添加一句
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
添加后需要重启防火墙
service iptables restart
然后开启版本库
svnserve -d -r /home/svn
自动部署到web目录
向web目录检出项目副本
为了在web目录下检出项目我们需要先切换到web目录下(我的web目录是在/home/www下)
检出项目
svn co file:///home/svn/warTwo
这个位置用的file协议,也可以用svn://127.0.0.1/warTwo 自动部署
切到钩子目录 复制一个post-comit
cp post-commit.tmpl post-commit
修改post-commit文件
REPOS="$1"
REV="$2"
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
WEB="/home/www/917yc"
export LANG=en_US.UTF-8
svn update $WEB --username username --password userpassword
然后再给这个脚本添加执行权限
chmod +x post-commit
然后就ok啦