Linux中svn提交文件后自动同步更新到网站目录

为什么80%的码农都做不了架构师?>>>   hot3.png

情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这一问题,尤其是频繁更新后的繁琐,浪费了大量时间。

思路:通过搜索,查到svn的hooks目录的触发功能,该目录下有许多模板,其中一个是post-commit.tmpl,意为“提交后执行”,通过这个功能我们可以将提交代码后要做的事写到里面来执行。

步骤:

1. 首先导出一份svn的文件到网站目录

# svn co file:///data/svn/php/ /data/wwwroot/

2. 修改“提交后执行文件”post-commit.tmpl

# cd /data/svn/php/hooks

# mv post-commit.tmpl  post-commit

# chmod +x post-commit

# cat post-commit

#!/bin/sh
SVN=/usr/bin/svn
WEB=/data/wwwroot
LOG_PATH=/tmp/svn_hook.log
echo "------------Start Commit -----------" >> $LOG_PATH
echo "Time:"`date '+%Y-%m-%d %T'`>>$LOG_PATH
export LANG='zh_CN.UTF-8' #防止乱码 
for DIR in `svnlook dirs-changed /data/svn/php/`
do $SVN update $WEB/$DIR
done

#root  chown -R www.www /data/wwwroot

转载于:https://my.oschina.net/bibo/blog/879271

你可能感兴趣的:(Linux中svn提交文件后自动同步更新到网站目录)