跳到正文
灵光小匣IDEAS, KEPT CLOSE.
浅色

外观设置选择适合你的光线

在centOs上安装svn,并且让web项目自动提交部署到项目目录

安装部署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啦