svn-自动同步更新post-commit

本地svn提交后,想要实时同步更新,原先考虑用linux的cron任务跑个shell脚本去自动update,但是这样比较耗性能。

网上搜索后,找到svn本身已经提供了方案,就是post-commit 同步设置。

在创建好库之后,在hooks里面有个post-commit.tmpl 文件。

1、cd /home/basesvn/repository/hooks下

2、cp post-commit.tmpl post-commit

3、在post-commit中,添加如下信息:

cd /home/wwwroot/test && /usr/bin/svn update --username 用户名 --password 密码

如果更新时,报255错误

记得赋予post-commit文件权限

chmod -R 755 post-commit

如果还报127,记得把最下面这句注释或删掉

#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf

如果有多个更新,那在下面一样格式跟着写就行了。

参考:http://blog.csdn.net/honeyjimmy/article/details/24431713

时间: 2024-11-03 18:35:23

svn-自动同步更新post-commit的相关文章

如何利用svn自动同步更新到网站服务器

我们最终的目的是:当本地提交后,SVN服务器自动更新服务器端指定WEB目录内的文件 实现方法: 找到服务器端 SVN版本库所在的目录(目录名称是Repositories),这个目录是在安装VisualSVN Server设置的,根据你安装时的设置找到Repositories这个目录,在这个目录下面找到你创建的项目目录,在项目目录下面找到hooks目 录,在此目录中创建一个名为post-commit.bat的批处理文件,内容如下: @echo off "D:\VisualSVN Server\bi

Linux下svn提交文件后自动同步更新到网站目录

有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkout代码,例如我的目录是/data/www/test svn co https://127.0.0.1/test/trunk//data/www/test/ 注意,这是因为有时我会在服务器上直接修改代码,所以用checkout,如果不需要,可以用export,此指令不带.svn版本文件. 迁出代码后,

SVN与TFS自动同步脚本(很实用)

一直都在园子里看文章,因为各种原因懒得写文章.最近稍得空闲,把这几天的工作成果分享一下. 因为工作需要,开发人员使用Qt进行系统移动端的开发,Qt的版本控制却不提供连接TFS的设置,只有使用svn.没有办法,只有安装svn,现学现了解,最后发现可以通过svn的hooks实现提交后,svn服务端自动同步到tfs服务端.post-commit脚本如下: ET WORKDIR=D:\xxxx SET SVNDIR= C:\Program Files\VisualSVN Server\bin SET S

Linux下SVN部署/安全及权限配置,实现web同步更新

转自:http://www.cnblogs.com/me115/archive/2013/04/07/3002058.html 本文包含以下内容: SVN服务器安装 SVN权限管理 SVN使用SASL加密 SVN上传时同步其它目录 需求 在WEB线上版本管理的基础上,能够在代码上传之后,立刻通过WEB访问,查看修改效果:同时,保证数据的安全性: SVN安装 SVN服务器有2种运行方式:独立服务器和借助apache运行. svnserve和apache相比是轻量级的,也比较简单,svnserve包

rsync的简单介绍及rsync+inotify实现实时同步更新

Rsync的简单介绍及rsync+inotify实现实时同步更新 rsync是类unix系统下的数据镜像备份工具--remotesync.一款快速增量备份工具 Remote Sync,远程同步支持本地复制,或者与其他SSH.rsync主机同步.Rsync是超级进程来管理的,服务端口为873. 特点: 1.可以镜像保存整个目录树或文件系统: 2.有较高的数据传输效率: 3.可借助于SSH实现安全数据传输: 4. 支持匿名传输 工作模式: 1.shell模式,也称作本地模式 2.远程shell模式,

svn提交自动同步到web目录

环境:CentOS6.5  测试线   svn和web服务器在同一台机器上   SVN版本1.6 情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这一问题,尤其是频繁更新后的繁琐,浪费了大量时间. 思路:通过搜索,查到svn的hooks目录的触发功能,该目录下有许多模板,其中一个是post-commit.tmpl,意为“提交后执行”,通过这个功能我们可以将提交代码后要做的事写到里面来执行. 步骤: 1. 首先导出一份svn的文件到网站目录 #

CentOS 创建SVN 服务器,并且自动同步到WEB 目录

一.安装Subversion #yum install subversion 二,基本的SVN服务器配置 1,新建一个目录用于存储SVN所有文件# mkdir /home/svn 2,新建一个版本仓库# svnadmin create /home/svn/project 3,初始化版本仓库中的目录# mkdir project project/server project/client project/test (建立临时目录)# svn import project/ file:///home

利用SVN的post-commit钩子实现多项目自动同步

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://qicheng0211.blog.51cto.com/3958621/1563159 svn的post-commit钩子脚本在每次提交(commit)之后运行,我们可以在这个脚本里实现一些比较实用的功能,比如发送邮件提醒.自动备份版本库,自动同步代码到web服务器等. 这里用post-commit实现多项目自动同步,思路:在svn版本仓库根目录下划分多个项目文件夹,项目组成员在提

linux资料整理之ubuntu配置svn服务器并且同步更新web目录

博客:http://lijinhuan.blog.51cto.com/ 微博:http://weibo.com/lijinhuanexperience 微信:xiaoleetongxue 需求: 把代码放到共同的服务器中去,然后可以通过软件自由的增加和修改代码,以方便共同协作,而不是像某一些小企业那样,把代码用qq传来传去进行覆盖更新. 解决办法: 搭建一台公共的服务器并且配置svn服务器.svn可以很好存放代码,实现上面的需求. 下面教大家在unbuntu中一步一步地去配置svn服务器,至于u

web服务文件更新自动同步、数据库主从复制、shell脚本实现网站代码备份和mysql备份

基搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机中的环境,重新搭建一个同样的环境 要求: a)实现web服务文件更新的自动同步到另一台机器上 b)数据库实现主从复制 c)通过shell脚本实现网站源代码备份和mysql备份,备份策略包括全量备份.增量备份.差异备份 a,实现web服务文件更新的自动同步到另一台机器上: 1,在httpd服务器上建立基于FQDN的两个虚拟web站点,并创建相关目录. 2,修改测试windows主机的hosts文件,并编辑两个虚拟web站点对应的目录下的ind