SVN利用钩子(hooks)来同步自动更新
- 4367
- Linux
- 5
- super_dodo
- 2015/04/28
先前对于项目SVN的管控都是本地手动提交,登陆服务器,在服务器上执行更新操作。这样可以保证一定的安全步奏性,但是效率有些低下。对于高效率的开发阶段的团队来说,每个人都登陆服务器,势必造成浪费和拥挤。下面SVN为我们提供了优秀的组件钩子(hooks)来进行更新代码。
我的SVN仓库路径为/opt/svn
//创建代码仓库 cd /opt/svn/pangxieke mkdir /pangxieke cd /pangxieke svnadmin create pangxieke
进入hooks目录,创建脚本文件post-commit
cd /opt/svn/pangxieke/hooks vi post-commit //加入如下代码,意思是让web目录执行svn的update命令 #!/bin/bash export LANG=en_US.UTF-8 SVN=/usr/bin/svn WEB=/www/pangxieke ${SVN} update ${WEB} –username XXX–password XXX //编辑完脚本之后 修改权限 chmod +x post-commit
注意:
copy时 #!/bin/bash 不要丢失,会报错。#!/bin/sh 说明是执行shell命令
export LANG=zh_CN.GBK 是为了解决svn post commit 中文乱码,设置本地化编码,如本地系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn: Can’t convert string from native encoding to ‘UTF-8′
/usr/bin/svn update –username XXX –password XXX /var/www/myproject 执行更新操作
如果提示:post-commit hook failed (exit code 255) with no output赋予post-commit文件可执行权限
如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交
原文地址:http://www.pangxieke.com/linux/447.html
梅须逊雪三分白, 雪却输梅一段香(卢梅坡《雪梅》)
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例