Linux下SVN部署Web版本同步
2014-12-11 10:00
113 查看
我们都知道,SVN服务器端搭建好之后,要先创建版本库。而版本库中的文件都是以加密的方式存在,并不是提交上来的代码直接存放的。
因此,就有这样一个问题,我们希望我们测试好的代码提交到SVN服务器之后,可以不再经过其他的手动操作,而直接看到代码在服务器上的效果,比如web代码可以通过url直接看到。
解决方案的原理是这样,客户端commit到SVN的代码,在服务器端自动update到web服务器的代码目录。而Linux下的SVN服务端是提供这样的机制的,我们每创建一个版本库的时候注意到,在版本库目录下有hook这样一个文件夹,里面默认的都是.tmpl这样的临时文件。我们需要做的就是将post-commit.tmpl重命名为post-commit。这样,在客户端出现commit操作的时候,就会触发这个文件里的操作。接下来,我们只需要在post-commit这个文件中,写入相应的命令,update到web服务器代码目录即可。
这样一来,就实现了,客户端测试好的代码提交到服务器之后,可以直接通过web服务器看到效果。
示例:
1、创建svn服务器版本库
2、配置好conf下的三个文件,这里不做赘述,可以参考我另一篇博客《Linux下svn服务器端安装及配置教程》
3、将版本库下hook目录下的post-commit.tmpl重命名为post-commit,并给post-commit文件可执行权限
post-commit文件中写入如下命令:
如果没有保存缓存密码,则update的时候需要指定svn用户名及密码,也可以强制不保存密码--no-auth-cache
4、启动该版本库
5、给web服务器目标代码目录checkout一份代码
6、搞定。这个时候客户端svn提交代码的时候,就会自动update到代码目录啦
因此,就有这样一个问题,我们希望我们测试好的代码提交到SVN服务器之后,可以不再经过其他的手动操作,而直接看到代码在服务器上的效果,比如web代码可以通过url直接看到。
解决方案的原理是这样,客户端commit到SVN的代码,在服务器端自动update到web服务器的代码目录。而Linux下的SVN服务端是提供这样的机制的,我们每创建一个版本库的时候注意到,在版本库目录下有hook这样一个文件夹,里面默认的都是.tmpl这样的临时文件。我们需要做的就是将post-commit.tmpl重命名为post-commit。这样,在客户端出现commit操作的时候,就会触发这个文件里的操作。接下来,我们只需要在post-commit这个文件中,写入相应的命令,update到web服务器代码目录即可。
这样一来,就实现了,客户端测试好的代码提交到服务器之后,可以直接通过web服务器看到效果。
示例:
1、创建svn服务器版本库
mkdir /usr/local/svn svnadmin create /usr/local/svn/testsvn
2、配置好conf下的三个文件,这里不做赘述,可以参考我另一篇博客《Linux下svn服务器端安装及配置教程》
3、将版本库下hook目录下的post-commit.tmpl重命名为post-commit,并给post-commit文件可执行权限
chmod a+x post-commit
post-commit文件中写入如下命令:
#!/bin/sh export LANG=zh_CN.UTF-8 svn update /var/www/html/test
如果没有保存缓存密码,则update的时候需要指定svn用户名及密码,也可以强制不保存密码--no-auth-cache
4、启动该版本库
svnserve -d -r /usr/local/svn/testsvn
5、给web服务器目标代码目录checkout一份代码
svn checkout svn://127.0.0.1/ /var/www/html/test
6、搞定。这个时候客户端svn提交代码的时候,就会自动update到代码目录啦
相关文章推荐
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux 部署 SVN 并同步 web 項目
- Centos6.3下apache+svn部署web版本同步 推荐
- CentOS 6.3下Apache+SVN部署Web版本同步
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- SVN版本控制器 在Linux下的部署
- SVN同步(更新)版本控制报错:svn: Working copy '...\WEB-INF\classes\com' is missing
- CentOS(Linux) SVN服务器搭建+同步更新+多版本库+开机启动
- 初学svn对版本进行控制 用post- commit钩子实现代码同步到web目录
- LINUX下SVN安装,配置,web目录同步(咋个办呢 zgbn)
- linux centos svn 安装配置自动同步更新web服务
- LINUX下SVN安装,配置,web目录同步
- LinuxSvn服务器搭建之代码同步web目录
- linux资料整理之ubuntu配置svn服务器并且同步更新web目录
- linux下svnsync同步版本库配置