centos7 svn自动更新至web目录

1,229 阅读1分钟

本文记录通过svn的钩子脚本实现本地提交svn后,自动同步代码文件到服务器的网站目录下,而不必手动同步。

假如现在有:

SVN版本库中的一个项目:/svn/rootwww/

网站目录:/data/www/

我们先将SVN版本库中的一个项目checkout到网站目录:

svn co svn://192.168.5.5/rootwww --username admin --password 123456

这时,网站目录已成为SVN的工作副本,接下来利用SVN的钩子让这个工作副本自动更新。

新建一个post-commit钩子:

如果文件名为:post-commit.tmpl  需要更改为:post-commit

vim /svn/rootwww/hooks/post-commit

添加以下代码:

#!/bin/sh
REPOS="$1"
REV="$2"
export LANG="zh_CN.UTF-8"    #防止乱码
svn update /home/www/ --username Hwei --password 123456 --no-auth-cache #设置登陆账号密码并不缓存

注:不要遗漏第一行的#!/bin/sh,否则post-commit会报代号255的错误。

保存后,修改文件权限为777,否则SVN无法调用执行:

chmod 777 /svn/rootwww/hooks/post-commit

结束!!