应用部署 
进入 192.168.1.167 的/home/admin/scm 目录 执行 sh build.sh 就行了. 
1.配置tomcat目录 
SCM/script/build.properties 
catalina.home : 这个为tomcat安装的目录. 
比如我这边是 
/usr/src/apache-tomcat-5.5.33 这个目录下 
2.更新svn代码说明 
build_update.sh 文件中配置了更新svn的操作 
#!/bin/sh 
echo "SVN update start... " 
USERNAME=sin** 
PASSWORD=sin** 
cd /home/admin/scm/source 
#rm -rf /home/admin/scm/source/* 
svn checkout http://bstekhz.gicp.net:5032/svn/ebusiness/code/SCM/SCM --username=$USERNAME --password=$PASSWORD 
svn update 
echo "SVN update OK" 
sleep 1 
3.打包部署 
build_start.sh 文件中配置了 关闭tomcat,编译打包,拷贝到tomcat下,启动tomcat 
TOMCAT_HOME=/usr/src/apache-tomcat-5.5.33 
echo "Killing down tomcat" 
for i in `ps -ef | grep -v grep | grep tomcat | awk '{print $2}'` ; 
do 
echo "Killing PID ($i)..." 
kill -9 $i 
done 
sleep 1 
echo "ANT war start..." 
cd /home/admin/scm/source/SCM/script 
ant package 
echo "ANT war OK" 
echo "update war start" 
echo "clean up tomcat tmp work" 
rm -fr /usr/src/apache-tomcat-5.5.33/webapps/SCM 
rm -fr /usr/src/apache-tomcat-5.5.33/webapps/SCM.war 
cp /home/admin/scm/source/SCM/build/SCM.war /usr/src/apache-tomcat-5.5.33/webapps/SCM.war 
#rm -rf /home/admin/scm/source/* 
echo "Starting tomcat server now ..." 
$TOMCAT_HOME/bin/startup.sh 
echo "start tomcat Success"
4.一个便捷方式 
#!/bin/sh 
#build and package 
cd /home/admin/scm 
sh build_update.sh 
sh build_start.sh 
5.ant配置文件 
build.properties 
#Wed Mar 02 11:12:28 CST 2011 
final.name=${name} 
name=SCM 
build.dir=../build 
web.dir=../web 
catalina.home=/usr/src/apache-tomcat-5.5.33
6.dorado配置文件 
prod-dorado.properties 
sourceFileLoader=com.bstek.dorado.common.fileloader.DefaultFileLoader 
configFileLoader=com.bstek.dorado.common.fileloader.DefaultFileLoader 
sourceFileLoader.root=classpath\: 
configFileLoader.root=classpath\:doradohome
7.部署ant脚本 
build.xml 
<?xml version="1.0" encoding="UTF-8"?> 
<project name="DoradoProject" default="package"> 
 <property file="${basedir}/build.properties" /> 
 <property name="catalina.home" value="${catalina.home}"/> 
 <property name="lib.dir" value="${web.dir}/WEB-INF/lib"/> 
 <property name="cfg.dir" value="../cfg"/> 
 <target name="init" depends="clean"> 
 <mkdir dir="${build.dir}" /> 
 <mkdir dir="${build.dir}/doradohome" /> 
 <copy todir="${build.dir}/doradohome"> 
 <fileset dir="../home"> 
 <include name="**/*.*" /> 
 </fileset> 
 </copy> 
 <mkdir dir="${build.dir}/web" /> 
 <copy todir="${build.dir}/web"> 
 <fileset dir="${web.dir}"> 
 <include name="**/*.*" /> 
 </fileset> 
 </copy> 
 <delete file="${build.dir}/web/WEB-INF/dorado.properties" /> 
 <copy file="prod-dorado.properties" tofile="${build.dir}/web/WEB-INF/dorado.properties" /> 
 </target> 
 <path id="compile.classpath"> 
 <fileset dir="${catalina.home}/common/lib"> 
 <include name="*.jar"/> 
 </fileset> 
 <fileset dir="${lib.dir}"> 
 <include name="*.jar"/> 
 </fileset> 
 </path> 
 <target name="compile" description="Compile Java sources" depends="clean"> 
 <mkdir dir="${build.dir}/web/WEB-INF/classes"/> 
 <javac srcdir="../src" 
 destdir="${build.dir}/web/WEB-INF/classes" includeantruntime="on" encoding="UTF-8"> 
 <classpath refid="compile.classpath"/> 
 </javac> 
 <copy todir="${build.dir}/web/WEB-INF/classes"> 
 <fileset dir="../src" excludes="**/*.java"/> 
 <fileset dir="${cfg.dir}"/> 
 </copy> 
 </target> 
 <!-- ================================================================== --> 
 <!-- Make Dorado Web Project war file --> 
 <!-- ================================================================== --> 
 <target name="war" depends="init"> 
 <war destfile="${build.dir}/${final.name}.war" webxml="${build.dir}/web/WEB-INF/web.xml"> 
 <fileset dir="${build.dir}/web" /> 
 <zipfileset prefix="WEB-INF/classes/doradohome" dir="${build.dir}/doradohome" /> 
 </war> 
 </target> 
 <!-- ================================================================== --> 
 <!-- Clean Dorado build file --> 
 <!-- ================================================================== --> 
 <target name="clean"> 
 <delete dir="${build.dir}" /> 
 </target> 
 <target name="package" depends="clean,init,compile,war"> 
 </target> 
</project> 
SVN是常用的一种常见的版本控制软件。SVN中检出(check out) 和 导出(export) 的区别主要有如下几条: 
check out跟check in对应,export跟import对应 <、li> 
check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。 
export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行Update和Commit操作。导出文件夹下没有.svn目录。
                










