[转]svn提交自动同步到web服务器
参考博文:http://my.oschina.net/wddqing/blog/201567
同步程序思路:用户提交程序到SVN,SVN触发hooks,按不同的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录,再通过rsync同步到远程的WEB服务器上。
知识点:
1、SVN的hooks
# start-commit 提交前触发事务
# pre-commit 提交完成前触发事务
# post-commit 提交完成时触发事务
# pre-revprop-change 版本属性修改前触发事务
# post-revprop-change 版本属性修改后触发事务
通过上面这些名称编写的脚本就就可以实现多种功能了,相当强大。
2、同步命令rsync的具体参数使用
3、具有基个语言的编程能力bash python perl都可以实现
post-commit具体实现细节
post-commit脚本
编辑文件:sudo vim /home/svn/fitness/hooks/post-commit
注意:编辑完成post-commit后,执行:sudo chmod 755 post-commit
内容:
#!/bin/sh
export LANG=zh_CN.UTF-8
sudo /usr/bin/svn update /var/www/www --username mirze --password 123456
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF- #设定语言,根据系统语言设置,如果是UTF- 就设置为 LANG=zh_CN.UTF- SVN_PATH=/usr/bin/svn
SVN_USER=user
SVN_PASD=passwd
WEB_PATH=/var/www/website/weixin
WEB_IP="192.168.197.1"
RSYNC=rsync
LOG_PATH=/tmp/svn_update.log svn export "svn://192.168.197.1/test" $WEB_PATH --username $SVN_USER --password $SVN_PASD --force
chown -R yzxx:yzxx /var/www/website/weixin/
chmod -R /var/www/website/weixin/\#runtime
这个是已提交就自动更新覆盖原有路径。
还有一个是需要用户提交时输入关键字;例如:auto-load,才更新,哪个博文找不到了,找到后再贴上!
linux下svn定时更新项目(这个作为参考,放到服务器上不合适,更新太费资源) http://blog.sina.com.cn/s/blog_920dea7a01014nm8.html
有个复杂的还没看:http://os.51cto.com/art/201410/454887.htm
SVN命令使用详解 http://blog.sina.com.cn/s/blog_963453200101eiuq.html
[转]svn提交自动同步到web服务器的更多相关文章
- svn提交自动同步到web目录
环境:CentOS6.5 测试线 svn和web服务器在同一台机器上 SVN版本1.6 情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这 ...
- svn服务器配置以及自动同步到web服务器
感觉再不用svn就真的老了. 安装 yum install subversion 新建repo mkdir -p /opt/svn/myrepo svnadmin create /opt/svn/my ...
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报 分类: ...
- Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录
1.安装SVN服务[root@bogon ~]# yum -y install subversion 2.查看svnserve安装目录[root@bogon ~]# whereis svnserves ...
- LINUX安装SVN+添加自动同步+远程下载最新代码
LINUX安装SVN+添加自动同步+远程下载最新代码---------------------1. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作--------------- ...
- RubyMain2016.2配置自动同步代码到服务器功能
可以参考rubymain帮助文档:https://www.jetbrains.com/help/ruby/deployment-in-rubymine.html 在rubymain工具的Tools&g ...
- CentOS下安装配置SVN服务器并自动同步到web目录
一.安装 yum install subversion测试是否安装成功 /usr/bin/svnserve --version如提示以下内容,说明已安装成功 svnserve,版本 1.6.11 (r ...
- 提交代码到远程GIT仓库,代码自动同步到远程服务器上。
现在一般都会通过github,gitlab,gitee来管理我们的代码.我们希望只要我本地push了代码,远程服务器能自动拉取git仓库的代码,进行同步. 这就需要用到各仓库为我们提供的webhook ...
- Windows Server配置Jenkins,实现监测SVN提交自动构建.net4.5的项目
1,持续集成 概念:http://baike.baidu.com/view/5253255.htm,对于大多数人而言,自动构建/自动测试/自动部署,已经很发挥它的价值了.选择上: 推荐jenkins, ...
随机推荐
- Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(异常处理和引用计数)
我们将继续一步一步动手给Python写扩展,通过上一篇我们学习了如何写扩展,本篇将介绍一些高级话题,如异常,引用计数问题等.强烈建议先看上一篇,Python之美[从菜鸟到高手]--一步一步动手给Pyt ...
- javaweb学习路之三--websocket多人在线聊天
在之前的项目基础上,加入了一个聊天室的功能,为了界面好看 引入了AmazeUI和umeditor最终效果图如下: 源码在 https://github.com/Zering/MyWeb 目前练习都在这 ...
- jvm的内存区域简介
1.内存区域划分 jvm在执行java程序过程中会将管理的内存划分成若干不同的数据区域,他们分别是程序计数器,堆,方法区,虚拟机栈,本地方法栈. 1.1指令计数器 指令计数器是线程私有的,每个线程都有 ...
- js获取浏览器地址栏传递的参数
function getQueryString(key){ var href=window.location.href; var reg = new RegExp(key +"=([^&am ...
- CSS的clear属性
以下引用自w3school clear 属性定义了元素的哪边上不允许出现浮动元素.在 CSS1 和 CSS2 中,这是通过自动为清除元素(即设置了 clear 属性的元素)增加上外边距实现的.在 CS ...
- OSX/iOS 播放系统声音
方法1: 系统会自带了些声音,有时候一些操作用必要自己播放一下声音提醒一下,用bash的直接say something就ok了,写代码的时候呢?原来很简单的,一句: [[NSSound soundNa ...
- PHP 字符串处理 总结
PHP 字符串处理 PHP 字符串处理 PHP 的字符串处理功能非常强大,主要包括: 字符串输出 echo():输出一个或多个字符串 print():输出一个字符串 printf():输出格式化字符串 ...
- 织梦dedeCMS|系统基本配置标签
站点根网址: {dede:global.cfg_basehost/}调出网站的名称: {dede:field.title/}-{dede:global.cfg_webname/} 网站 ...
- poj 3608 Bridge Across Islands 两凸包间最近距离
/** 旋转卡壳,, **/ #include <iostream> #include <algorithm> #include <cmath> #include ...
- (Problem 57)Square root convergents
It is possible to show that the square root of two can be expressed as an infinite continued fractio ...