1. 程式人生 > >自動部署SVN 自動打包的shell

自動部署SVN 自動打包的shell

echo "************************************************************************************"
echo "                           UPDATING OVE SYSTEM......                                "
echo "************************************************************************************"
echo "**                                                                                **"
echo "**            O O O             V V               V V       E E E E E E E E E     **"
echo "**        O O O O O O           V V               V         E E E E E E E E E     **"
echo "**        O O       O O           V             V V         E E                   **"
echo "**      O O           O O         V             V V         E E                   **"
echo "**      O O           O O         V V           V V         E E                   **"
echo "**      O             O O         V V           V           E E                   **"
echo "**    O O             O O           V         V V           E E                   **"
echo "**    O O               O           V         V V           E E E E E E E E       **"
echo "**    O O               O           V V       V             E E E E E E E E       **"
echo "**    O O               O             V       V             E E                   **"
echo "**    O O             O O             V     V V             E E                   **"
echo "**      O             O O             V V V V V             E E                   **"
echo "**      O O           O O             V V V V               E E                   **"
echo "**      O O           O O               V V V               E E                   **"
echo "**        O O       O O                 V V V               E E                   **"
echo "**        O O O O O O                   V V                 E E E E E E E E E     **"
echo "**            O O O                       V                 E E E E E E E E E     **"
echo "**                                                                                **"
echo "************************************************************************************"
echo "                   OVE SERVER CREATE BY JUN AT 20140123                             "
echo "                                                                                    "
echo "************************************************************************************"
echo "OVE系統更新中,請稍候..........."
sleep 3
echo "更新svn....."

/usr/bin/nc 42.96.198.96 443 -w 2&>/dev/null
h=`echo $?`
if [ $h -ne 0 ]; then
        echo "		SVN伺服器出現故障,請聯絡管理員!"
        exit 0
fi


svn update /usr/local/tomcat-ove/src/ove
echo "關閉tomcat...."
sleep 1
ps -ef |grep tomcat-ove |grep -v grep |awk '{print $2}' |xargs kill -9
ant -file /usr/local/tomcat-ove/src/ove/build.xml
echo "啟動tomcat....."

nohup sh /usr/local/tomcat-ove/bin/startup.sh &
echo "檢視後臺日誌...."
sleep 1
tail -60f  /usr/local/tomcat-ove/logs/catalina.out

<?xml version="1.0" ?>
<project name="ove" default="deploy">
	<property environment="env"></property>
	<property name="src" value="src" />
	<property name="webroot" value="WebContent" />
	<property name="dist" value="dist" />
	<property name="warDest" value="wardest" />
	<property name="classDest" value="class" />
	<property name="source-encoding" value="UTF-8" />
	<property name="TOMCAT" value="/usr/local/tomcat-ove" />
	<property name="tomcat-lib" value="${TOMCAT}/lib" />
	<property name="warName" value="ove.war" />

	<!--編譯java原始檔所需的jar檔案 -->
	<path id="build-classpath">
		<fileset dir="${webroot}/WEB-INF/lib">
			<include name="*.jar" />
		</fileset>
		<fileset dir="${tomcat-lib}">
			<include name="*.jar" />
		</fileset>
	</path>

	<!--清理 -->
	<target name="clean">
		<delete dir="${dist}" />
	</target>

	<!-- 初始化,建立相關的資料夾 -->
	<target name="init">
		<mkdir dir="${dist}" />
		<mkdir dir="${dist}/${warDest}" />
		<mkdir dir="${dist}/${classDest}" />
	</target>

	<!-- 編譯java原始檔並拷貝到相應的資料夾 -->
	<target name="compile" depends="init">
		<javac srcdir="${src}/" destdir="${dist}/${classDest}" target="1.6"
			classpathref="build-classpath" encoding="${source-encoding}" debug="true"
			includeantruntime="false"
			debuglevel="source,lines,vars">
		</javac>
		<sleep seconds="2"></sleep>
		<copy todir="${dist}/${classDest}/com/xhrd/query/" >
			<fileset dir="${src}/com/xhrd/query/">
				<include name="*.xml"></include>
			</fileset>
		</copy>
	</target>
	
	<!--拷貝webroot檔案到相應的資料夾 -->
	<target name="copy">
		<copy todir="${dist}/${warDest}">
			<fileset dir="${webroot}">
				<exclude name="**/*.jar" />
			</fileset>
		</copy>
		<copy todir="${dist}/${classDest}">
			<fileset dir="config">
			</fileset>
		</copy>
	</target>

	<!--打包 -->
	<target name="war" depends="compile, copy">
		<war destfile="${dist}/${warName}" webxml="${webroot}/WEB-INF/web.xml">
			<fileset dir="${dist}/${warDest}" />
			<lib dir="${webroot}/WEB-INF/lib"/>
			<classes dir="${dist}/${classDest}"></classes>
		</war>
		<delete dir="${dist}/${warDest}"></delete>
		<delete dir="${dist}/${classDest}"></delete>
	</target>
	
	<!--shutdowntomcat-->  
    <target name="shutdowntomcat" description="========shutdowntomcat===========" depends="war">  
        <exec executable="${TOMCAT}/bin/shutdown.sh" failonerror="false"></exec>  
        <sleep seconds="5"/>  
    </target>
    

	<target name="deleteTemp" depends="war" description="========delete Temp files===========">
		<delete dir="${TOMCAT}/work/Catalina"></delete>
		<delete dir="${TOMCAT}/webapps/ove"></delete>
		<delete dir="${TOMCAT}/webapps/ove.war"></delete>
	</target>
	
	
    <!--部署到tomcat下面-->  
	<target name="deploy" depends="deleteTemp">
		<copy todir="${TOMCAT}/webapps" file="${dist}/${warName}" />
	</target>


	
    <!--startuptomcat-->  
    <target name="startuptomcat" description="========startuptomcat===========" depends="deploy">  
        <sleep seconds="2"/>  
        <exec executable="${TOMCAT}/bin/startup.sh"  failonerror="false"></exec>  
    </target>  
  
	
</project>