SVN更新的同时线上服务器同步更新

今天花了点时间学习了下svn本地提交后代码同步更新到线上服务器。(svn服务器的搭建,可参考CentOS搭建SVN独立服务器)

达到此效果,须满足一下几点:

  1. 本地代码与线上代码被同一个svn版本库控制。
  2. svn服务器若与线上服务器不处于同一主机,需要有访问外网的能力。

代码同步的原理:

利用svn自带的hooks(钩子)

主要修改的文件:

svn版本库下的 hooks/post-commit.tmpl

复制或者重命名此文件为post-commit,并增加一个可执行权限 chmod +x post-commit

删除无用代码,增加如下代码:

仅此两行代码就可实现两套环境的代码同步,是不是相当简单。使用自带的hooks的一个好处就是,如果commit不成功(文件冲突等等),它会中断线上的同步。

此过程需要注意的问题:

1.环境变量不定义,而版本库中又有中文字符,报错率100%:

2.下图中,框出来的一行要么删除要么注释,不然会报错:命令未找到
SVN更新的同时线上服务器同步更新

  • SVN更新的同时线上服务器同步更新已关闭评论
  • 397 views
    A+
发布日期:2016年12月04日  所属分类:linux
标签: