文档章节

在linux下配置javaWeb项目.sh部署脚本

L
 Love吩祢I伴
发布于 2016/01/04 16:24
字数 430
阅读 90
收藏 6

#!/bin/sh

#使用监视模式,如果不设置该命令。可能导致通过shell脚本启动以后,shell断开连接,启用的应用程序也会随之停止。

set -m   

# 定义变量接收值, 如: ./test.sh gx test true true

provice="$1"      
profile="$2"
if [ "${profile}" = "" ];then
  profile="test"
fi

skip_core="$3"
skip_common="$4"

path=`pwd`        

#`pwd`代表当前目录。注意是`符号,而不是'单引号
PROJECT_NAME='lottery'
SUB_PROJECT_NAME='lottery-service'

suffix=""
if [ "${provice}" != "gx" ];then
  suffix="-${provice}"
fi
TC_PATH="/opt/tc-server/joywifi-server-${SUB_PROJECT_NAME}${suffix}"

#从svn上更新代码

update_code(){
  if [ -e $PROJECT_NAME ];then
    cd $PROJECT_NAME && svn update --username "xuebin.yang" --password "888888"
  else
    svn checkout "http://10.13.0.55:8080/svn/GL_SCLT/trunk/${PROJECT_NAME}" --username "xuebin.yang" --password "888888"
  fi
}

#进行打包处理

package(){
  cd ${path}/${PROJECT_NAME}
  if [ "$skip_core" != "true" ];then
    echo 'install lottery-core'
    mvn clean install -f lottery-core/pom.xml -P ${provice} -Dmaven.test.skip=true
  fi

  if [ "$skip_common" != "true" ];then
    echo 'install lottery-common'
    mvn clean install -f lottery-common/pom.xml -P ${provice} -Dmaven.test.skip=true
  fi
  echo "package ${SUB_PROJECT_NAME}"
 
  mvn clean package -P ${profile}-${provice} -Dmaven.test.skip=true -f ${SUB_PROJECT_NAME}/pom.xml
  if [ $? -ne 0 ];then
    echo '打包不成功,请检查svn代码'
    exit 0
  fi
}

#mvn命令部署项目

deploy(){
  ${TC_PATH}/bin/tcruntime-ctl.sh stop
  rm -rf ${TC_PATH}/webapps/ROOT/
  rm -rf ${TC_PATH}/webapps/ROOT.war.BAK
  mv ${TC_PATH}/webapps/ROOT.war ${TC_PATH}/webapps/ROOT.war.BAK
  cp ${path}/${PROJECT_NAME}/${SUB_PROJECT_NAME}/target/ROOT-${profile}.war ${TC_PATH}/webapps/ROOT.war
  ${TC_PATH}/bin/tcruntime-ctl.sh start &
  tail -f ${TC_PATH}/logs/catalina.out
}

if [ $path != '/home/sh-command/deploy' ];then
  echo '请到/home/sh-command/deploy目录下运行'
  exit 0
fi

if [ $# -lt 1 ];then
  echo "请输入省份"
  exit 0
fi

update_code

package

read -p '是否部署?Y/N' is_deploy
echo "是否部署:$is_deploy"

if [ $is_deploy = "y" ] || [ $is_deploy = "yes" ];then
   deploy
elif [ $is_deploy = "n" ] || [ $is_deploy = "no" ];then
   echo -e "\033[31m 取消部署 \033[0m"
else
    while [ $is_deploy != "y" ] || [ $is_deploy != "yes" ] || [ $is_deploy != "n" ] || [ $is_deploy != "no" ];do
         read -p '是否部署?Y/N' is_deploy
         echo "是否部署:$is_deploy"

         if [ $is_deploy = "y" ] || [ $is_deploy = "yes" ];then
            deploy
            break
         elif [ $is_deploy = "n" ] || [ $is_deploy = "no" ];then
            echo -e "\033[31m 取消部署 \033[0m"
            break
         fi

   done

fi

© 著作权归作者所有

L
粉丝 0
博文 7
码字总数 3955
作品 0
深圳
私信 提问
Jenkins详细安装与构建部署使用教程

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1、持续的软件版本...

6pker
2016/10/12
197
0
Linux服务器部署javaweb项目,从环境配置,到最终运行

部署准备:javaJDK1.7,Tomcat7.0,MySQL5.8,可运行的javaWeb项目,linux环境的服务器(可以是安装在windows电脑上的linux虚拟机,安装了linux系统的电脑,linux云服务器都行,我第一次使用...

红土豆
01/09
116
0
小结下Linux的初级实用脚本编写

有一段时间没写Linux的脚本了,有点生疏,这里做个脚本编写总结(主要以写一个简单的项目部署脚本为实战例子进行编写,高大上的一些东西暂时不在这篇总结之列) 1.脚本的命名一般是xxx.sh 这...

熊猫88
2015/12/28
93
0
【转】Linux下搭建Tomcat服务器

对于apache开源项目中tomcat的认识,大多停留在windows下,这次我通过一个简单的实例来介绍一下在linux下如何搭建tomcat环境,并且部署一个web项目。 先从基本安装开始,可别小看linux下的文...

段成诚
2011/08/18
347
0
CentOs7安装tomcat

转载自(http://blog.csdn.net/gebitan505/article/details/54599598) 步骤一、下载安装包 a. 下载tomcat Linux安装包,地址:http://tomcat.apache.org/download-80.cgi , 我们下载的版本是...

宇的季节
2017/12/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部