同步程序思路:用户提交程序到SVN,SVN触发hooks,按不一样的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录,再经过rsync同步到远程的WEB服务器上。 python
知识点: 编程
一、SVN的hooks vim
# start-commit 提交前触发事务 bash
# pre-commit 提交完成前触发事务 服务器
# post-commit 提交完成时触发事务 svn
# pre-revprop-change 版本属性修改前触发事务 post
# post-revprop-change 版本属性修改后触发事务 事务
经过上面这些名称编写的脚本就就能够实现多种功能了,至关强大。 同步
二、同步命令rsync的具体参数使用 it
三、具备基个语言的编程能力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一份出来,还有这里必定要添加用户和密码若是只是手动同样会更新,但自动同样的不行。