linux 自动化部署jenkins war包的 脚本(deploy)

简介: 自动拉取war包,自动解压,自动删除日志,自动重启tomcat,dubbo程序,备份项目,自动替换配置文件 用法: deploy | deploy start | deploy stop | deploy restart| deploy cle...

自动拉取war包,自动解压,自动删除日志,自动重启tomcat,dubbo程序,备份项目,自动替换配置文件

用法: deploy | deploy start | deploy stop | deploy restart| deploy clear| deploy status 


*需要自己修改相关路径

文件名 deploy :


env="dev"
module=""
project="esb"
tomcat="tomcat-esb-6060"

dubbo="dubbo"

base="http://192.168.1.1:9090/jenkins/job"
clear()
{
rm -rf rm -rf $dubbo/*/logs/*
rm -rf $tomcat/logs/*
rm -rf *.log
rm -rf *.war
rm -rf *assembly.tar.gz
}
stop()
{
module="esb-consumer"
#ps -ef | grep $env/esb/dubbo/$module | grep -v grep
pid=`ps -ef | grep $env/$project/dubbo/$module | grep -v grep |awk 'NR==1{print $2}'`
if [ -n "$pid" ];then
     echo "停止$env $module..."
     kill -9 $pid
     sleep 1s
fi

module="esb-facade"
#ps -ef | grep $env/$project/dubbo/$module | grep -v grep
pid=`ps -ef | grep $env/$project/dubbo/$module | grep -v grep |awk 'NR==1{print $2}'`
if [ -n "$pid" ];then
     echo "停止$env $module..."
     kill -9 $pid
     sleep 1s
fi

#ps -ef | grep $env/$project/$tomcat | grep -v grep
pid=`ps -ef | grep $env/$project/$tomcat | grep -v grep |awk 'NR==1{print $2}'`
if [ -n "$pid" ];then
echo "停止$env $tomcat"
kill -9 $pid
sleep 1s
fi
}


start()
{
  module="esb-facade"
  echo "启动$env $module..."
  sh $dubbo/$module/bin/start.sh
  sleep 2s
  module="esb-consumer"
  echo "启动$env $module..."
  sh $dubbo/$module/bin/start.sh

  echo "启动$env $tomcat"
  sh $tomcat/bin/startup.sh

}
deploy_dubbo()
{
rm -rf bak/$module
cp -r $dubbo/$module bak
rm -rf $dubbo/$module
rm -rf $module-assembly.tar.gz
wget -qc "$base/$project/ws/$module/target/$module-assembly.tar.gz"
echo "正在解压$env $module-assembly.tar.gz"
tar -zxvf $module-assembly.tar.gz -C $dubbo  >/dev/null 2>&1
echo "替换配置$env $module"
cp -r configbak/$module/* $dubbo/$module/conf
}
deploy_tomcat()
{
rm -rf bak/$module
cp -r $tomcat/webapps/$module bak
rm -rf $tomcat/webapps/$module
rm -rf $module.war
wget -qc "$base/$project/ws/$module/target/$module.war"
echo "正在解压$env $module"
unzip $module.war -d $tomcat/webapps/$module  >/dev/null 2>&1
echo "替换配置$env $module"
cp -r configbak/$module/* $tomcat/webapps/$module/WEB-INF/classes
}

deploy()
{
stop
clear


module="esb-consumer"
deploy_dubbo
module="esb-facade"
deploy_dubbo
module="esb-scheduler"
deploy_tomcat
module="esb-api"
deploy_tomcat
module="esb-web"
deploy_tomcat

start
}


if [ "$1" = "start" ];then
    start
elif [ "$1" = "stop" ];then
    stop
elif [ "$1" = "clear" ];then
    clear
elif [ "$1" = "restart" ];then
    stop
    start
elif [ "$1" = "status" ];then
    ps -ef | grep $env/$project/$dubbo | grep -v grep
    ps -ef | grep $env/$project/$tomcat | grep -v grep
elif [ -z "$1" ];then
    deploy
else
    echo "用法: deploy | deploy start | deploy stop | deploy restart| deploy clear";
    exit 1;
fi

目录
相关文章
|
1月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
142 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
1月前
|
人工智能 监控 Kubernetes
77_自动化脚本:Makefile与Airflow
在当今AI大模型时代,高效的工作流管理对于模型训练、推理和部署至关重要。随着大模型规模的不断增长和复杂度的提升,传统的手动脚本管理方式已无法满足需求。自动化脚本和工作流调度系统成为构建健壮、可重复、可扩展的LLM Pipeline的关键工具。其中,Makefile作为经典的自动化构建工具,与Airflow作为现代工作流调度平台的结合,为LLM开发团队提供了强大的工作流管理能力。
|
3月前
|
传感器 人工智能 JavaScript
Playwright实战:写UI自动化脚本,速度直接起飞
简介: 测试工程师老王因UI自动化问题深夜奋战,反映出传统测试工具的局限性。微软开源的Playwright凭借智能等待、跨域操作、移动端模拟与网络拦截等强大功能,正迅速取代Selenium,成为新一代自动化测试标准。其稳定高效的设计显著降低维护成本,助力企业构建高质量测试流程。
|
5月前
|
机器学习/深度学习 Kubernetes 监控
Kubernetes 节点故障自愈方案:结合 Node Problem Detector 与自动化脚本
本文深入探讨了Kubernetes节点故障自愈方案,结合Node Problem Detector(NPD)与自动化脚本,提供技术细节、完整代码示例及实战验证。文章分析了硬件、系统和内核层面的典型故障场景,指出现有监控体系的局限性,并提出基于NPD的实时事件捕获与自动化诊断树的改进方案。通过深度集成NPD、设计自动化修复引擎以及展示内核死锁恢复的实战案例,文章详细说明了自愈流程的实现步骤与性能优势。此外,还提供了生产环境部署指南、高可用架构设计及安全防护措施,并展望了机器学习增强故障预测和混沌工程验证的进阶优化方向。全文约1.2万字,适合希望提升Kubernetes集群稳定性的技术人员阅读。
288 1
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
11月前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
959 61
自动化微信朋友圈:Python脚本实现自动发布动态
|
10月前
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
696 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
8月前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
10月前
|
Web App开发 数据采集 JavaScript
Chrome浏览器实例的TypeScript自动化脚本
Chrome浏览器实例的TypeScript自动化脚本
下一篇
oss云网关配置