项目中都是jsp开发,所以用到Tomcat。
在我文章中也写过多个Tomcat 的部署,具体可以参考:http://www.cnblogs.com/magmell/p/7045193.html
SVN项目目录:/home/svn
Tomcat访问目录:/usr/local/tomcat/多个tomcat端/webapps/ROOT
把SVN项目检出到Tomcat各个webapps下的ROOT目录中。
cd /usr/local/tomcat/多个tomcat端/webapps/ROOT
检出到当前ROOT目录中:
命令:svn co svn://localhost/src/resources ./
当然可以写一个脚本做到自动检出多个Tomcat目录的。
SVN自动同步:
切换到/home/svn/hooks/
首先:cp post-commit.tmpl post-commit.tmpl.bak
然后:mv post-commit.tmpl post-commit
chmod +x post-commit设置为可执行
也就是说在提交的时候,触发这个脚本
vim post-commit
写入:
svn update --no-auth-cache --username 用户名 --password 密码 /usr/local/tomcat/Tomcat名称/webapps/ROOT
多个Tomcat端可以写多个svn update语句,这样 ,提交的时候就会自动同步到服务器上的web目录中去了。
这样会出现一个问题:svn卡,后来优化了。利用svnlook dirs-changed命令,检测到改变的目录,然后让其对应到相应的目录,经过优化后,速度明显提升。
一下是我写的一个更新脚本:
#更新脚本
SVN=/usr/bin/svn #svn命令目录
WEB=/home/data #web目录,即要更新到这里的目录
LOG_PATH=/tmp/svn_hook.log #日志
echo "Time:"`date '+%Y-%m-%d %T'`>>$LOG_PATH
echo `svnlook dirs-changed /home/svn`>>$LOG_PATH
echo “----------------------------------------”>>$LOG_PATH
for i in `svnlook dirs-changed /home/svn`
do
$SVN update $WEB/$i
done
Linux下svn提交文件后自动同步更新到网站目录
有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkou ...
linux下svn 搭建
linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion yum安装SVN#mkdir -p /opt/svn/repos 创建s ...
Linux下SVN服务器安装配置及客户端安装说明