svn提交自动同步到web服务器

南笙酒味 提交于 2019-11-28 13:07:24

同步程序思路:用户提交程序到SVN,SVN触发hooks,按不同的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录,再通过rsync同步到远程的WEB服务器上。

知识点:

1、SVN的hooks

# start-commit 提交前触发事务

# pre-commit 提交完成前触发事务

# post-commit 提交完成时触发事务

# pre-revprop-change 版本属性修改前触发事务

# post-revprop-change 版本属性修改后触发事务

通过上面这些名称编写的脚本就就可以实现多种功能了,相当强大。

2、同步命令rsync的具体参数使用

3、具有基个语言的编程能力bash python perl都可以实现

post-commit具体实现细节

post-commit脚本

编辑文件:sudo vim /home/svn/fitness/hooks/post-commit

注意:编辑完成post-commit后,执行:sudo chmod 755 post-commit

内容:

#!/bin/sh

export LANG=zh_CN.UTF-8

sudo /usr/bin/svn update /var/www/www --username mirze --password 123456


注意:svn仓库文件夹的other必须要有执行权限不然脚本无法执行。SVN update 之前一定要先手动checkout一份出来,还有这里一定要添加用户和密码如果只是手动一样会更新,但自动一样的不行。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!