博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】今天给公司正式开始统一使用代码管理器 svn ,但是我想要实现当我提交代码的时候,我们的网站也跟着自动一起更新,这样就不用每次提交一次代码就要我们手动的更新 web 的代码,本文讲解一下如何实现svn 提交代码时能够自动同步到网站 web 目录。
首先看看这个:
SVN 的 hooks (钩子):
# start-commit 提交前触发事务
# pre-commit 提交完成前触发事务
# post-commit 提交完成时触发事务
# pre-revprop-change 版本属性修改前触发事务
# post-revprop-change 版本属性修改后触发事务
实例如下:
svn 地址:svn://127.0.0.1/mytest
网站首页:http://127.0.0.1
网站根目录:/home/mytest
svn 账号及对应密码:mafutian / mafutian
网站对应的 svn 仓库位置:/home/site/mytest
// svn 检出(注意需要进入对应的 svn 仓库)
root@localhost:/home/site# svn checkout svn://127.0.0.1/mytest
// svn 更新(同意需要注意药进入对应的 svn 仓库)
root@localhost:/home/site/mytest# svn update
// svn 提交
root@localhost:/home/site/mytest# svn commit
在相应的 svn 仓库中找到:hooks/post-commit.tmpl,这个是一个模板文件,意义是:"提交后执行文件",可复制一份出来,命名:post-commit
# cp post-commit.tmpl post-commit
在文件 post-commit 中写入相应的脚本,则每次 svn 提交代码后则会自动的运行 post-commit 中的脚步程序,以下是在提交完版本后,自动在 web 目录运行一下 svn update 的小脚本:
#!/bin/sh
export LANG=zh_CN.GBK
# export LANG=en_US.UTF-8 #svn 编码是UTF-8 适情况选择
/usr/bin/svn update /home/site/mytest --username mafutian --password mafutian >> /tmp/svn.log
:wq 保存退出, chmod +x post-commit 加上可执行权限。
版权归 马富天PHP博客 所有
本文标题:《svn 提交代码时自动同步到网站 web 目录的实例》
本文链接地址:http://www.mafutian.net/221.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶2
踩0
第 3 楼 小萝博客 2016-10-26 13:45:29 江苏苏州
第 2 楼 文栋说自媒体 2016-10-25 21:28:03 山东青岛
第 1 楼 杨永博客 2016-10-19 16:06:41 河北廊坊
评论审核未开启 |