svn 提交代码时自动同步到网站 web 目录的实例

学习笔记 马富天 2016-10-19 13:35:54 96 3

【摘要】今天给公司正式开始统一使用代码管理器 svn ,但是我想要实现当我提交代码的时候,我们的网站也跟着自动一起更新,这样就不用每次提交一次代码就要我们手动的更新 web 的代码,本文讲解一下如何实现svn 提交代码时能够自动同步到网站 web 目录。

首先看看这个:

SVN 的 hooks (钩子):

  1. # start-commit 提交前触发事务
  2. # pre-commit 提交完成前触发事务
  3. # post-commit 提交完成时触发事务
  4. # pre-revprop-change 版本属性修改前触发事务
  5. # post-revprop-change 版本属性修改后触发事务

实例如下:

svn 地址:svn://127.0.0.1/mytest

网站首页:http://127.0.0.1

网站根目录:/home/mytest

svn 账号及对应密码:mafutian / mafutian

网站对应的 svn 仓库位置:/home/site/mytest

  1. //	svn 检出(注意需要进入对应的 svn 仓库)
  2. root@localhost:/home/site# svn checkout svn://127.0.0.1/mytest
  3. //	svn 更新(同意需要注意药进入对应的 svn 仓库)
  4. root@localhost:/home/site/mytest# svn update
  5. //	svn 提交
  6. root@localhost:/home/site/mytest# svn commit

在相应的 svn 仓库中找到:hooks/post-commit.tmpl,这个是一个模板文件,意义是:"提交后执行文件",可复制一份出来,命名:post-commit

  1. # cp post-commit.tmpl post-commit

在文件 post-commit 中写入相应的脚本,则每次 svn 提交代码后则会自动的运行 post-commit 中的脚步程序,以下是在提交完版本后,自动在 web 目录运行一下 svn update 的小脚本:

  1. #!/bin/sh 
  2. export LANG=zh_CN.GBK
  3. # export LANG=en_US.UTF-8 #svn 编码是UTF-8 适情况选择
  4. /usr/bin/svn update /home/site/mytest  --username mafutian --password mafutian >> /tmp/svn.log

:wq 保存退出, chmod +x post-commit 加上可执行权限。

版权归 马富天个人博客 所有

本文标题:《svn 提交代码时自动同步到网站 web 目录的实例》

本文链接地址:http://www.mafutian.com/221.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

2

0

上一篇《 Ubuntu 开机自动启动 svn 服务 》 下一篇《 如何使用 navicat for mysql 只导出数据表结构 》

所有评论

  1. 首页
  2. 上一页
  3. 1
  4. 下一页
  5. 尾页
  6. 第1页
  7. 每页12条
  8. 共1页
  9. 共3条
评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多