`

deploy automation script

阅读更多

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."
 
分享到:
评论

相关推荐

    高效Ambari部署Python3脚本资源 - umx-deploy-script

    项目概述:本项目名为umx-deploy-script,旨在提供一种高效的Ambari部署方式,专门为Python 3环境设计。包含62个文件,主要采用Python语言编写,并辅以Shell脚本,以实现灵活的自动化部署流程。 文件组成: - ...

    tomcat-deploy-script:一个 shell 脚本,用于 startstoprestartdeploy 一个 maven 项目到一个 tomcat 实例

    `tomcat-deploy-script`是一个针对Tomcat服务器的shell脚本,旨在简化和自动化Maven项目的启动、停止、重启以及部署过程。这个脚本对于开发者和运维人员来说是非常实用的工具,因为它可以减少手动操作,降低出错率,...

    github-to-wordpress-deploy-script, 在Github上和部署到 WordPress,Bash脚本处理标签.zip

    github-to-wordpress-deploy-script, 在Github上和部署到 WordPress,Bash脚本处理标签 到 WordPress.org-部署脚本我们都知道发布插件可以能是一件非常糟糕的事情,深深地讨厌 SVN,这是一个简单的小脚本。...

    PVCS-CICO:用于MF Deploy Automation的PVCS Checkin Checkout插件

    该插件是为Micro Focus / Serena Deploy Automation设计的。 控制pcli以检入和检出代码/工件。 如何使用 将此项目克隆到磁盘上的某个位置。 运行generateZip.cmd 在DA>管理>自动化中,将此projectname.zip加载到...

    deploy-script

    在IT行业中,部署脚本(如标题"deploy-script"所示)是自动化软件部署过程的关键工具。部署脚本通常由系统管理员或DevOps工程师编写,用于简化应用或服务在服务器上的安装、配置和启动。在本案例中,描述指出这是一...

    L300-2A-Configure and Deploy Service Delivery and Automation

    L300-2A-Configure and Deploy Service Delivery and Automation课程是针对Microsoft产品中数据中心和私有云管理技术的专业课程。该课程的目的是帮助技术管理人员了解并掌握如何通过服务交付和自动化提高IT服务的...

    ideploy 打包工具javaweb 增量打包工具

    **ideploy:增量打包工具详解** 在Java Web开发过程中,打包工具起着至关重要的作用,它们可以帮助开发者将源代码、依赖库和其他资源整合成可部署的格式,如WAR或EAR文件。`ideploy`就是这样一款专门针对Java Web...

    使用acrionis snap deploy management快速同时部署linux

    Acronis Snap Deploy Management 是一款高效的企业级工具,专门用于快速、批量地部署Linux操作系统到多台设备上。它利用Acronis先进的磁盘映像技术,能够在保持原有系统完整性的基础上,创建一个包括操作系统、配置...

    deploy.prototxt

    deploy.prototxt

    deploy, 最小部署 shell script.zip

    deploy, 最小部署 shell script 部署简单部署 shell 脚本。安装 $ make install 请访问 以获取更多的使用信息。用法 Usage: deploy [options] <env> [command]

    Web Deploy迁移IIS6站点到IIS7

    ### Web Deploy迁移IIS6站点到IIS7详解 #### 一、概述 随着技术的发展与更新迭代,从旧版的Internet Information Services (IIS 6)迁移到新版的IIS 7及其以上版本的需求日益增加。对于企业来说,如何高效、安全地...

    jenkins的Deploy Plugin插件

    jenkins的Deploy Plugin插件 jenkins的Deploy Plugin插件 jenkins的Deploy Plugin插件

    deploy.jar 第三方jar包

    deploy 部署 不是很常用的jar包,希望对大家有点帮助

    WebDeploy_amd64_zh-CN.msi发布工具

    WebDeploy,全称为Microsoft Web Deploy,是一款由微软公司开发的强大的自动化部署工具,主要用于简化和加速Web应用程序在IIS(Internet Information Services)服务器上的发布过程。该工具特别适用于开发者和系统...

    WebDeploy_x64.msi

    当时自己安装vs2012时 webdeploy3.0安装失败了 自己在搞了半天才找到这个 希望对大家有用吧

    aws-deploy-script-frontend

    AWS Deploy脚本 用于部署前端应用程序的AWS脚本。 介绍 用于我们项目的最常见配置是使用S3存储桶来包含我们的静态文件。 (可选)您可以将CloudFront用作CDN。 该脚本的目的是读取所有文件并直接同步到存储桶,而...

Global site tag (gtag.js) - Google Analytics