SVN代码自动同步WEB[hooks]

开发部门有时候需要对写的代码进行错误检测并实时预览,虽然可以通过FTP上传的方式,然而SVN 本身有hooks模块,我们可以通过它实现开发部门的需求。

[root@svn ~]# cat /data/svn/repos/hooks/post-commit
#!/bin/sh
#FileName: post-commit
#Description: Automatic updates to web server code
#Author: shuhui
#Version: v1.0

IP=192.168.198.248
DIR=/data/www/daidaicn.com
DATE=$(date +%F' '%T)
OWER=apache

# Update code 
/usr/bin/ssh root@$IP  /usr/bin/svn update $DIR  --username=admin --password=admin@2015
# Permission set
/usr/bin/ssh root@$IP  /bin/chown -R ${OWER}.${OWER} /data/www

# Log
 if [ "$?" -eq "0" ];then
    echo "svn update successful on $DATE" >> /var/log/svn_hooks.log
    exit 0
    else
    echo "svn update failure on $DATE"   >> /var/log/
svn_hooks.log
 fi

# 现在只要开发部门上传源码就能看到实时更新内容

[root@svn ~]# tail /var/log/svn_hooks.log
……………………………………………………
svn update successful on Mon Apr 27 16:03:33 CST 2015
svn update successful on Mon Apr 27 16:04:03 CST 2015
svn update successful on Mon Apr 27 16:05:52 CST 2015

 
 
 
 
shell更新版本:
#!/bin/sh  
#funciton:automatic update svn on remote server  
#author:shuhui
#version: v1.1  
#modify_time: 2015-07-22
 
export LANG=en_US.UTF-8 
 
WEB_SER=192.168.198.248
SVN_SER=192.168.198.245
DIR=/data/svn_website
DATE=$(date +%F' '%T)
OWER=webuser
PROJECT=(
project1
project2
project3
)
 
for project in ${PROJECT[@]}; do
/usr/bin/ssh root@$WEB_SER  /usr/bin/svn update svn://${SVN_SER}/${project} $DIR/${project} --username=admin --password=admin@2015
 
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值