shell脚本自动化部署服务
shell脚本自动化部署
!/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_workspace/Test"
if [ ! -d "$run_flag_dir" ]; then
mkdir -p "$run_flag_dir"
fi #判断是否正在部署,如果是则退出
if [ -f "$run_flag_dir/.run" ]; then
echo "程序部署中,请勿重复部署!"
exit
fi #创建.run文件,标识脚本正在部署
touch "$run_flag_dir/.run"
#捕获Ctrl+C,删除.run文件,避免状态不一致
trap "rm -r $run_flag_dir/.run; exit 1" export JAVA_HOME=/data0/usr/jdk1..0_60/ /bin/rm -rf ./deploy_workspace/Test echo "##############################################################"
echo "开始git下载代码。。。"
echo "##############################################################" cd /data0/shell/deploy_workspace
if [ ! -d "Test" ]; then
git clone -b dev git@git.jd.com:AIBDP-Mobile/Test.git
cd Test
git pull
else
cd Test
git pull
fi echo "##############################################################"
echo "开始编译代码。。。"
echo "##############################################################"
cd /data0/shell/deploy_workspace/Test/
#cp -rf face-web/src/main/config/test/* ai-web/src/main/resources/
#/bin/rm -rf mobile-web/src/main/config/test/jss.properties
cp -rf web/src/main/config/test/* web/src/main/resources/
mvn clean package -U -DskipTests -Dmaven.repo.local=/data0/repository
#mvn clean package -DskipTests if [ $? != 0 ]; then
echo "##############################################################"
echo -e 'mvn打包出错了,直接退出部署程序。。。';
echo "##############################################################"
/bin/rm -rf $run_flag_dir/.run;
exit 1
fi echo "##############################################################"
echo "开始停止tomcat。。。"
echo "##############################################################"
sh /data0/usr/apache-tomcat-8.5.24/bin/shutdown.sh
sleep 3
ps -ef| grep "apache-tomcat-8.5.24" | grep -v grep | awk '{print $2}' | xargs kill -9
echo "====tomcat服务已停止成功。。。"
echo "##############################################################" echo "##############################################################"
echo -e "开始部署程序。。。"
echo "##############################################################"
cd /data0/shell/deploy_workspace/Test/
/bin/rm -rf /data0/usr/apache-tomcat-8.5.24/webapps/ROOT*
unzip -q mobile-web/target/ROOT.war -d "/data0/usr/apache-tomcat-8.5.24/webapps/ROOT" echo "##############################################################"
echo -e "开始启动tomcat。。。"
echo "##############################################################"
export CATALINA_OPTS="-Xms1024M -Xmx1024M -server -XX:PermSize=256M"
nohup sh /data0/usr/apache-tomcat-8.5.24/bin/startup.sh & #删除.run文件,部署完毕
/bin/rm -rf $run_flag_dir/.run; echo "##############################################################"
echo -e "开始打印日志。。。"
echo "##############################################################" tail -f "/data0/usr/apache-tomcat-8.5.24/logs/catalina.out"
shell脚本自动化部署服务的更多相关文章
- shell脚本自动化部署
由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了. 一.纯人工部署是这样的: 1. 本地打包:一般 maven clean package 2. 借助xftp上传到服务器对应目录 ...
- linux下使用shell脚本自动化部署项目
在Java开发项目时经常要把正在开发的项目发布到测试服务器中去测试,一般的话是要把项目先打成war包,然后把war包发布到服务器中,关闭服务器, 最后重新启动服务器,虽然这过程不是很繁琐,但如果是多个 ...
- Shell脚本-自动化部署WEB
#! /bin/ ] then echo "#### 参数有误,\$1:构建号必填" exit fi cd /root/workspace/xinya_erp/xinya_web ...
- Shell脚本-自动化部署反向代理、WEB、nfs
部署nginx反向代理三个web服务,调度算法使用加权轮询(由于物理原因只开启两台服务器) AutoNginxNfsService.sh #/bin/bash systemctl status ngi ...
- shell脚本自动化部署Zabbix4.2(修改脚本替换版本)
#!/bin/bash # 检查操作系统版本,该脚本只能运行在 Centos 7.x 系统上 cat /etc/redhat-release |grep -i centos |grep '7.[[:d ...
- shell脚本自动化部署XX的案例(附数组使用)
#!/bin/sh #Auto Make install MFS Files # cat <<EOF ++++++++++++++++Welcome To Use Auto Install ...
- Azure自动化部署服务 (2)
上一篇文章介绍了如何通过添加用户名和密码的方式实现自动化部署服务中与Azure Subscription的连接. 本文将介绍如何使用证书的方式实现Azure Automation与Azure的Subs ...
- Azure自动化部署服务 (1)
Azure中已经发布了自动化部署服务的PaaS功能. 本文将介绍自动化服务Automation初始化过程. 在Azure Management Portal上左边可以看到Azure的各种服务,其中一项 ...
- Shell脚本一键部署——源码编译安装MySQL及自动补全工具
Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者 ...
随机推荐
- Dynamics 365出现数据加密错误怎么办?
本人微信公众号:微软动态CRM专家罗勇 ,回复290或者20181227可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . Dy ...
- Windows7 64位环境6sv2.1大气传输模型修改源码添加国产高分卫星GF-1 GF-2光谱响应支持
下面开始添加国产卫星光谱响应的支持: 以下主要参考文章“6S大气传输模型修改源码添加.自定义卫星光谱响应(以HJ-1B CCD为例)”网址:http://blog.csdn.net/sam92/art ...
- Docker入门笔记
Docker入门笔记 随笔记录初学Docker遇到的问题, 以免下次再犯. 本机系统Ubuntu18.04 安装 Docker有2个版本 Community Edition (CE) 社区版(免费) ...
- MySQL常用命令汇总(偏向运维管理)
基础部分 1. select @@version; ##查询当前mysql的版本. 2. show variables like 'port';##查看mysql实例的端口. 3. show vari ...
- centos7查看可登陆用户
一.命令 cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 cat /etc/passwd | grep /bin/bash | cu ...
- 基础学习14天 MD5加密
private static string GetMD5(string str) { //创建MD5对象 MD5 md5 = MD5.Create(); //字符串类型转换Wie字节 byte[] b ...
- 【重新发布,代码开源】FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片
原创博客,转载请注明出处:[重新发布,代码开源]FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片 - 没落骑士 - 博客园 https://www.cnblogs.com/m ...
- 安装Linux内核源代码
系统:Ubuntu 18 CPU架构:AMD64 1,在终端输入:sudo apt install linux-source 命令 2,进入/usr/src/linux-source-4.15.0目录 ...
- 小小白搭建nextcloud云盘
我是一名linux的小小白,今天就利用自己的所学搭建属于自己的云盘——nextcloud. 本人学生狗,普通的云盘也要几十块钱,既然我们只是拿来搭建巩固自己知识并不做为生产力,我们就用VMware W ...
- Bootstrap -- 文本,背景,其他样式
Bootstrap -- 文本,背景,其他样式 1. 文本样式:展示了不同的文本颜色 使用文本样式: <!DOCTYPE html> <html> <head> & ...