1、设置执行保护#!/bin/bashENV="0"echo -n "Confirm to deploy ? [yes|no]"read ANScase $ANS in yes) ENV="1" ;; n|N|no|No) #exit 0 ENV="2" ;;esacif [ "$ENV" == "0" ];thenecho "exit"exit 0fiif [ "$ENV" == "2" ];thenecho "exit"exit 0fi
2、定义变量并清空文件夹deployPath="/opt/test/{projuectName}"tomcatPath="/usr/local/tomcat"稆糨孝汶;logFile="d.log"projectName="{projuectName}"echo "1/5 chear the deploy path $deployPath ..."rm -rf $deployPath/*rm -rf $deployPath/.classpathrm -rf $deployPath/.svnrm -rf $deployPath/.projectrm -rf $deployPath/.settings
3、svn checkout代码echo "2/5 check out code ..."svn co {SVNURL} $deployPath --username {SVNUSERNAME} --password {SVNPASSWORD} > $logFilefind $deployPath/. -type d -name ".svn"|xargs rm -rfcd $deployPath
4、mvn编译echo "3/5 mvn build ..."mvn clean > $logFilemvn package > $logFileif (( $? ))then echo "mvn build Failed!"else echo "mvn build Success!"fi
5、发布到tomcat下,此处可以自行选择是否需要自动发布到tomcat下echo "4/5 deploy into tom艘早祓胂cat ..."$tomcatPath/bin/shutdown.sh > $logFilerm -rf $tomcatPath/webapps/$projectName/mv $deployPath/target/{projuectName}.war $tomcatPath/webapps/$projectName.war$tomcatPath/bin/startup.sh > > $logFile#rm -rf $zipReadyPath/$projectName.zip#zip -r $tomcatPath/webapps/$projectName.zip . -i $tomcatPath/webapps/$projectName#mv $tomcatPath/webapps/$projectName.zip $zipReadyPath/$projectName.zipecho "5/5 complete!"
6、以下是整体shell脚本#!/bin/bashENV="0"echo -n "Confirm to deploy ? [yes|no]"read ANScase $ANS in yes) ENV="1" ;; n|N|no|No) #exit 0 ENV="2" ;;esacif [ "$ENV" == "0" ];thenecho "exit"exit 0fiif [ "$ENV" == "2" ];thenecho "exit"exit 0fideployPath="/opt/test/XXXXXX"tomcatPath="/usr/local/tomcat"logFile="d.log"projectName="XXXXX"echo "1/5 chear the deploy path $deployPath ..."rm -rf $deployPath/*rm -rf $deployPath/.classpathrm -rf $deployPath/.svnrm -rf $deployPath/.projectrm -rf $deployPath/.settingsecho "2/5 check out code ..."svn co {SVNURL} $deployPath --username {SVNUSERNAME} --password {SVNPASSWORD} > $logFilefind $deployPath/. -type d -name ".svn"|xargs rm -rfcd $deployPathecho "3/5 mvn build ..."mvn clean > $logFilemvn package > $logFileif (( $? ))then echo "mvn build Failed!"else echo "mvn build Success!"fiecho "4/5 deploy into tomcat ..."$tomcatPath/bin/shutdown.sh > $logFilerm -rf $tomcatPath/webapps/$projectName/mv $deployPath/target/{projuectName}.war $tomcatPath/webapps/$projectName.war$tomcatPath/bin/startup.sh > > $logFile#rm -rf $zipReadyPath/$projectName.zip#zip -r $tomcatPath/webapps/$projectName.zip . -i $tomcatPath/webapps/$projectName#mv $tomcatPath/webapps/$projectName.zip $zipReadyPath/$projectName.zipecho "5/5 complete!"