In order to make our process automation and make free of error, we build automation script for deploy. Following script will download war file from maven repository and deploy to tomcat.
#!/bin/sh
TOMCAT_HOME=/opt/tomcat
if [ -z $PROJECT]; then
PS3="Please choose:"
PROJECTS="project1 project2"
echo "Choose which project you want to deploy from the list below:"
select PROJECT in $PROJECTS;
do
case $PROJECT in
project1)
REPO_PATH=com/yuan/project1
PRJ_NAME=project1
break;;
esac
done
fi
if [ -z $PROJECT ]; then
echo "Error in select project!"
exit 1
fi
read -p "Please enter which version you want to deploy:" PRJ_VERSION
WAR_FILE="http://build.yuan.com:9999/repository/"$REPO_PATH"/"$PRJ_VERSION"/"$PRJ_NAME"-"$PRJ_VERSION".war"
echo "Project Name="$PRJ_NAME
echo "WAR location="$WAR_FILE
echo "TOMCAT_HOME=" $TOMCAT_HOME
WORKING_DIR=~/tmp
echo "Working Dir=" $WORKING_DIR
echo "---clean working dir..."
if [ -d $WORKING_DIR ]
then
rm -fR $WORKING_DIR
fi
mkdir $WORKING_DIR
cd $WORKING_DIR
echo "Get war file..."
wget $WAR_FILE
if [ $? -ne 0 ]; then
exit 1
fi
echo "shutdown tomcat..."
$TOMCAT_HOME/bin/shutdown.sh
# wait 6 seconds after a clean shutdown before killing
count=1
pids=`ps aux | grep java | grep catalina | awk '{print $2}'`
while [ $count -ne 6 ] && [ -n "$pids" ];
do
echo "Waiting 1s on TOMCAT java pids: $pids"
sleep 1
count=$(( $count + 1))
pids=`ps aux | grep java | grep catalina | awk '{print $2}'`
done
# kill if anything is still around
if [ -n "$pids" ]; then
pkill -9 $pids
fi
echo "deploy war to tomcat..."
rm -rf $TOMCAT_HOME/webapps/$PRJ_NAME/
rm -rf $TOMCAT_HOME/webapps/$PRJ_NAME.war
cp $WORKING_DIR/$PRJ_NAME-$PRJ_VERSION.war $TOMCAT_HOME/webapps/$PRJ_NAME.war
echo "start tomcat..."
$TOMCAT_HOME/bin/startup.sh
echo "done."
分享到:
相关推荐
项目概述:本项目名为umx-deploy-script,旨在提供一种高效的Ambari部署方式,专门为Python 3环境设计。包含62个文件,主要采用Python语言编写,并辅以Shell脚本,以实现灵活的自动化部署流程。 文件组成: - ...
github-to-wordpress-deploy-script, 在Github上和部署到 WordPress,Bash脚本处理标签 到 WordPress.org-部署脚本我们都知道发布插件可以能是一件非常糟糕的事情,深深地讨厌 SVN,这是一个简单的小脚本。...
该插件是为Micro Focus / Serena Deploy Automation设计的。 控制pcli以检入和检出代码/工件。 如何使用 将此项目克隆到磁盘上的某个位置。 运行generateZip.cmd 在DA>管理>自动化中,将此projectname.zip加载到...
tomcat 部署脚本 用于启动/停止/重启/部署 maven 项目到 tomcat 实例的 shell 脚本
deploy.prototxt
deploy, 最小部署 shell script 部署简单部署 shell 脚本。安装 $ make install 请访问 以获取更多的使用信息。用法 Usage: deploy [options] <env> [command]
angular deploy.doc
jenkins的Deploy Plugin插件 jenkins的Deploy Plugin插件 jenkins的Deploy Plugin插件
maven-deploy-plugin-2.8.2.jar
部署脚本
deploy 部署 不是很常用的jar包,希望对大家有点帮助
AWS Deploy脚本 用于部署前端应用程序的AWS脚本。 介绍 用于我们项目的最常见配置是使用S3存储桶来包含我们的静态文件。 (可选)您可以将CloudFront用作CDN。 该脚本的目的是读取所有文件并直接同步到存储桶,而...
linuxdeploy
Minecraft服务器-PaperMC部署脚本 使用当前设置移动和部署... sudo apt update & sudo apt install git -y & sudo git clone https://github.com/merto-dvp/minecraftserver-paper-deploy-script cd minecraftserve
系统封装工具DEPLOY
Jenkins 自动化部署Deploy插件
maven : deploy程序包用来快速上传第三方jar包提交成功后会自动生成deploy_config.txt保存url和仓库标识
- ./deploy.sh YOUR_OPSWORKS_STACK_ID YOUR_OPSWORKS_APP_ID 嘻哈 dependencies : pre : - sudo pip install awscli deployment : staging : branch : staging commands : - ./hipchat.sh
maven-deploy-plugin-2.7.jar
MobileNetSSD预训练模型 Realtime object recognition using the OpenCV 3.3 dnn module + pretrained MobileNetSSD caffemodel.