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

相关文章
|
7月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
243 0
|
7月前
|
存储 网络协议 Ubuntu
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。
|
Linux 数据安全/隐私保护 网络安全
Centos7环境下搭建SVN服务器
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
433 0
|
存储 网络协议 Ubuntu
Linux环境下使用SVN快速访问资料库?试试使用cpolar端口映射
SVN分为服务端和客户端,服务端主要是做数据资料存储,客户端主要是图形化工具连接服务端获取服务端数据资料,下面介绍在ubuntu系统安装服务端,在通过客户端远程访问。
133 0
Linux环境下使用SVN快速访问资料库?试试使用cpolar端口映射
|
存储 关系型数据库 MySQL
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(四)
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(四)
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(四)
|
缓存 关系型数据库 测试技术
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(三)
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(三)
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(三)
|
存储 网络安全 数据库
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(二)
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(二)
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(二)
|
安全 应用服务中间件 网络安全
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(一)
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置
服务器常用环境(Redmine,Gitlab,Svn,Testlink)安装及配置(一)
|
Shell Linux
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
121 0
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
|
程序员 Android开发
Eclipse最新SVN(4.2.x )插件subclipse安装方法
Eclipse最新SVN(4.2.x )插件subclipse安装方法
259 0
Eclipse最新SVN(4.2.x )插件subclipse安装方法