SVN在另类环境中实现自动提交的方法
环境:
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在另类环境中实现自动提交的方法相关推荐
- Delphi环境中编写调用DLL的方法和技巧
Delphi环境中编写调用DLL的方法和技巧 第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会陌生,在Windows中有着大量的以DLL为后缀的文件,它们是保证Windows正常 ...
- PHP(2):搭建PHP 运行环境中可能出现的问题及处理方法
PHP(2):搭建PHP 运行环境中可能出现的问题及处理方法 初学者在搭建PHP运行环境中经常可能遇到一些错误,这个时候可能就无所事从了!其实,错误是任何人都难免的,即使是程序高手!关 ...
- 在VB环境中操作三维模型的实现方法
在VB环境中操作三维模型的实现方法 摘要 针对VC在开发虚拟设计和三维仿真程序中的不足,提出了基于VB环境开发三维仿真程序的可行性,并对其中关键的三维模型的显示.操作等技术性问题给出了具体的解决方法. ...
- 百度sitemap Api自动提交收录方法
百度sitemap Api自动提交收录方法,本文使用python提交. 首先先将网站的sitemap地图(网站根目录自己生成的sitemap.xml)转换为txt文本的一条条链接,然后再把txt文本的 ...
- PHP中 对象自动调用的方法:__set()、__get()、__tostring()
总结: (1)__get($property_name):获取私有属性$name值时,此对象会自动调用该方法,将属性name值传给参数$property_name,通过这个方法的内部 执行,返回我们传 ...
- php的set 方法调用,PHP中 对象自动调用的方法:set()、get()、tostring()
总结: (1)__get($property_name):获取私有属性$name值时,此对象会自动调用该方法,将属性name值传给参数$property_name,通过这个方法的内部 执行,返回我们传 ...
- 在Atollic TrueSTUDIO开发环境中集成STM32CubeProgrammer工具的方法
ST意法半导体最近新推出了一款软件烧录工具 - STM32CubeProgrammer,用户可以使用该工具通过SWD/JTAG调试接口和UART/USB引导接口烧写STM32器件.STM32CubeP ...
- redis生产环境中慎用keys模糊匹配方法
Redis是一个key-value存储系统.和Memcached类似,但性能远高于memcached.现在很多大型互联网公司都在使用redis作为自己的缓存实现,但是如果没有合理使用好redis,比如 ...
- centos的mysql修改root密码_CentOS环境中MySQL修改root密码方法
环境相关: OS:CentOS release 6.9 IP:192.168.1.10 MySQL:MariaDB-10.1.30 1. 修改前的确认 修改root密码是需要重启mysql库,确认生产 ...
最新文章
- 【Qt】菜单栏、工具栏、状态栏、右键菜单的实现
- 问卷星调查学生对《算法》教学的建议与反馈
- linux docker 权限划分介绍 capabilities
- TCP数据流稳定性--TCP分片,重组及乱序
- 【dart学习】-- Dart之函数
- [转载]明天的数字营销分析工具2
- golang中的http服务器
- 【NLP傻瓜式教程】手把手带你HAN文本分类(附代码)
- hexo的yelee主题让文章呈现圆角效果
- 带有AWS DynamoDB的反应式Spring Webflux
- 提高篇 第四部分 数据结构 第2章 RMQ问题
- 朴素贝叶斯在文本分类中的应用之 伯努利
- 纯CSS制作-旋转立方体效果
- 【计网知识点总结】1概述
- 凉茶配方案终审 加多宝赔偿近2亿元
- 苏州微软面试--机器学习自然语言处理
- ApacheCN 翻译、校对、笔记整理活动(有偿)进度公告 2022.7
- Python过去计算机用户名,Django:如何获取客户端计算机用户名视图.py
- 机器学习算法(二):决策树理论与python实现+经典应用(预测隐形眼镜类型)
- PHP中的面向对象思想