#linux相关

在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啦

← 返回首页