热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SVN代码自动同步WEB[hooks]

开发部门有时候需要对写的代码进行错误检测并实时预览,虽然可以通过FTP上传的方式,然而SVN本身有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



推荐阅读
author-avatar
凌彩霞_685
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有