环境:
SVN SERVER  172.16.1.100            (CentOS 5.5 X64)
WEB SERVER  172.16.1.111            (CentOS 5.5 X64)
client      10.0.1.50               (Windows XP 若干个)

实现目的:
SVN SERVER 是版本控制中心,里面有多个版本库,现在要实现 程序员(client)提交代码到SVN SERVER上,WEB SERVER会自动去svn up版本控制中心(SVN SERVER)的代码到相应的目录下;

实现方式:

首先在现有的SVN SERVER上  新建目录 ,在WEB 上把WEB目录配置成NFS 目录 ,挂载WEB目录 到新建目录上,检出 版本库 添加hooks脚本,让其达到 程序员提交文件,自动触发更新。

步骤:
1、在WEB SERVER上
vi /etc/exports
/elain/data/htdocs/www  172.16.1.0/24(rw,sync,no_root_squash)

/etc/init.d/portmap start
/etc/init.c/nfs start

#加入自启动
chkconfig portmap on
chkconfig nfs on

2、在SVN SERVER上
SVN目录 是   svn://172.16.1.100/trunk/www
mkdir -p /data/wwwroot

[root@Svn elain#]showmount -e 172.16.1.111
Export list for 172.16.1.111:
/elain/data/htdocs/www 172.16.1.0/24

mount -t nfs 172.16.1.111:/elain/data/htdocs/www /data/wwwroot

#加入自启动
vi /etc/rc.local
mount -t nfs 172.16.1.111:/elain/data/htdocs/www /data/wwwroot

#SVN 检出
svn co svn://172.16.1.100/trunk/www /data/wwwroot

chown -R www.www /data/wwwroot

cd /elan/svndata/trunk/hooks
cp post-commit.tmpl post-commit

vi  post-commit

添加以下一行
svn up /tuibo/wwwroot

注:post-commit原有内容是提交发邮件的机制,需要的可以配置一下,不需要的可以全部注释。

测试:

在client机上 更改一个文件 ,提交。 我们只需在 WEB SERVER上查看相应的文件 是否自动更新成功。

以上方法只是我在内网测试环境上做的,重要的是给大家一个思路,此方法SVN 提交时可能会有十秒左右延迟。
欢迎大家提出更好的思路,我想到的还有两种思路:

1、用hook脚本 SSH 远程执行 svn up更新,
2、用hook脚本 sersync 来实时传输

大家不妨试试……

转载请注明: 转载自http://www.elain.org

本文链接地址:SVN在另类环境中实现自动提交的方法

本文转自 elain2012 51CTO博客,原文链接:http://blog.51cto.com/elain/623303

SVN在另类环境中实现自动提交的方法相关推荐

  1. Delphi环境中编写调用DLL的方法和技巧

    Delphi环境中编写调用DLL的方法和技巧 第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会陌生,在Windows中有着大量的以DLL为后缀的文件,它们是保证Windows正常 ...

  2. PHP(2):搭建PHP 运行环境中可能出现的问题及处理方法

    PHP(2):搭建PHP 运行环境中可能出现的问题及处理方法         初学者在搭建PHP运行环境中经常可能遇到一些错误,这个时候可能就无所事从了!其实,错误是任何人都难免的,即使是程序高手!关 ...

  3. 在VB环境中操作三维模型的实现方法

    在VB环境中操作三维模型的实现方法 摘要 针对VC在开发虚拟设计和三维仿真程序中的不足,提出了基于VB环境开发三维仿真程序的可行性,并对其中关键的三维模型的显示.操作等技术性问题给出了具体的解决方法. ...

  4. 百度sitemap Api自动提交收录方法

    百度sitemap Api自动提交收录方法,本文使用python提交. 首先先将网站的sitemap地图(网站根目录自己生成的sitemap.xml)转换为txt文本的一条条链接,然后再把txt文本的 ...

  5. PHP中 对象自动调用的方法:__set()、__get()、__tostring()

    总结: (1)__get($property_name):获取私有属性$name值时,此对象会自动调用该方法,将属性name值传给参数$property_name,通过这个方法的内部 执行,返回我们传 ...

  6. php的set 方法调用,PHP中 对象自动调用的方法:set()、get()、tostring()

    总结: (1)__get($property_name):获取私有属性$name值时,此对象会自动调用该方法,将属性name值传给参数$property_name,通过这个方法的内部 执行,返回我们传 ...

  7. 在Atollic TrueSTUDIO开发环境中集成STM32CubeProgrammer工具的方法

    ST意法半导体最近新推出了一款软件烧录工具 - STM32CubeProgrammer,用户可以使用该工具通过SWD/JTAG调试接口和UART/USB引导接口烧写STM32器件.STM32CubeP ...

  8. redis生产环境中慎用keys模糊匹配方法

    Redis是一个key-value存储系统.和Memcached类似,但性能远高于memcached.现在很多大型互联网公司都在使用redis作为自己的缓存实现,但是如果没有合理使用好redis,比如 ...

  9. centos的mysql修改root密码_CentOS环境中MySQL修改root密码方法

    环境相关: OS:CentOS release 6.9 IP:192.168.1.10 MySQL:MariaDB-10.1.30 1. 修改前的确认 修改root密码是需要重启mysql库,确认生产 ...

最新文章

  1. 【Qt】菜单栏、工具栏、状态栏、右键菜单的实现
  2. 问卷星调查学生对《算法》教学的建议与反馈
  3. linux docker 权限划分介绍 capabilities
  4. TCP数据流稳定性--TCP分片,重组及乱序
  5. 【dart学习】-- Dart之函数
  6. [转载]明天的数字营销分析工具2
  7. golang中的http服务器
  8. 【NLP傻瓜式教程】手把手带你HAN文本分类(附代码)
  9. hexo的yelee主题让文章呈现圆角效果
  10. 带有AWS DynamoDB的反应式Spring Webflux
  11. 提高篇 第四部分 数据结构 第2章 RMQ问题
  12. 朴素贝叶斯在文本分类中的应用之 伯努利
  13. 纯CSS制作-旋转立方体效果
  14. 【计网知识点总结】1概述
  15. 凉茶配方案终审 加多宝赔偿近2亿元
  16. 苏州微软面试--机器学习自然语言处理
  17. ApacheCN 翻译、校对、笔记整理活动(有偿)进度公告 2022.7
  18. Python过去计算机用户名,Django:如何获取客户端计算机用户名视图.py
  19. 机器学习算法(二):决策树理论与python实现+经典应用(预测隐形眼镜类型)
  20. PHP中的面向对象思想

热门文章

  1. linux【报错】userdel: user xiaoming is currently used by process 4713解决
  2. 2012年最后一天,终于盼到公司发报卡了
  3. javascript 之---正则表达式
  4. win10:JDK12.0.1环境变量配置
  5. 定位到某个单词_【侃侃单词】词根词缀记单词-loc
  6. zookeeper的名词复盘-Stat状态信息
  7. Spring MVC 源码分析
  8. TCC事务补偿机制实现分布式事务控制介绍
  9. 未付服务网关限流作用
  10. 区域数据导入功能(pinyin4J使用)