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脚本,以实现灵活的自动化部署流程。 文件组成: - ...
`tomcat-deploy-script`是一个针对Tomcat服务器的shell脚本,旨在简化和自动化Maven项目的启动、停止、重启以及部署过程。这个脚本对于开发者和运维人员来说是非常实用的工具,因为它可以减少手动操作,降低出错率,...
github-to-wordpress-deploy-script, 在Github上和部署到 WordPress,Bash脚本处理标签 到 WordPress.org-部署脚本我们都知道发布插件可以能是一件非常糟糕的事情,深深地讨厌 SVN,这是一个简单的小脚本。...
该插件是为Micro Focus / Serena Deploy Automation设计的。 控制pcli以检入和检出代码/工件。 如何使用 将此项目克隆到磁盘上的某个位置。 运行generateZip.cmd 在DA>管理>自动化中,将此projectname.zip加载到...
在IT行业中,部署脚本(如标题"deploy-script"所示)是自动化软件部署过程的关键工具。部署脚本通常由系统管理员或DevOps工程师编写,用于简化应用或服务在服务器上的安装、配置和启动。在本案例中,描述指出这是一...
L300-2A-Configure and Deploy Service Delivery and Automation
**ideploy:增量打包工具详解** 在Java Web开发过程中,打包工具起着至关重要的作用,它们可以帮助开发者将源代码、依赖库和其他资源整合成可部署的格式,如WAR或EAR文件。`ideploy`就是这样一款专门针对Java Web...
Acronis Snap Deploy Management 是一款高效的企业级工具,专门用于快速、批量地部署Linux操作系统到多台设备上。它利用Acronis先进的磁盘映像技术,能够在保持原有系统完整性的基础上,创建一个包括操作系统、配置...
deploy.prototxt
deploy, 最小部署 shell script 部署简单部署 shell 脚本。安装 $ make install 请访问 以获取更多的使用信息。用法 Usage: deploy [options] <env> [command]
jenkins的Deploy Plugin插件 jenkins的Deploy Plugin插件 jenkins的Deploy Plugin插件
maven-deploy-plugin-2.8.2.jar
deploy 部署 不是很常用的jar包,希望对大家有点帮助
WebDeploy,全称为Microsoft Web Deploy,是一款由微软公司开发的强大的自动化部署工具,主要用于简化和加速Web应用程序在IIS(Internet Information Services)服务器上的发布过程。该工具特别适用于开发者和系统...
当时自己安装vs2012时 webdeploy3.0安装失败了 自己在搞了半天才找到这个 希望对大家有用吧
AWS Deploy脚本 用于部署前端应用程序的AWS脚本。 介绍 用于我们项目的最常见配置是使用S3存储桶来包含我们的静态文件。 (可选)您可以将CloudFront用作CDN。 该脚本的目的是读取所有文件并直接同步到存储桶,而...