zoukankan      html  css  js  c++  java
  • Shell脚本 自动部署 SpringBoot 应用

    公司项目使用了SpringBoot。开发的应用需要自动上传到服务器。虽然目前对热部署还没完全掌握。先使用shell简化一下部署吧。

    # 上传密钥
    sshLoginKey=/f/MyFile/root.key
    # 项目在本机的目录
    MyProject=/d/MyProject/comment
    
    # 远程主机上的路径
    RemoteHost=root@domainName.com
    RemotePath=$RemoteHost:/data/
    
    if [ -f "$sshLoginKey" -a -d "$MyProject" ];then
        cd $MyProject
        # 只输出错误
        mvn clean package -q
        # 查找target目录中,最近1分钟内打包的文件。为了脚本通用性,不指定文件名。借助find 查找。
        fileName=$(find target -maxdepth 1 -type f -size +20M -regex "target/w+.[jw]ar" -cmin -1)
    if [ -e "$fileName" ];then echo "打包成功" scp -P 2233 -i $sshLoginKey $fileName $RemotePath; if [ $? -eq 0 ];then echo "上传成功。"; # 停止服务 ssh -p 2233 $RemoteHost -i $sshLoginKey "ps -ef | awk '$NF~/comment/{print $2}' | xargs kill -9 " # 启动服务 # ssh -p 2233 $RemoteHost -i $sshLoginKey "/root/jdk1.8.0_152/bin/java -jar /data/comment.jar 2>&1 >/var/log/comments.log &" else echo "上传失败。"; fi else echo "打包失败" exit 1 fi if [ -f "$fileName" ];then rm -rf $fileName fi else echo "密钥或项目不存在"; sleep 5s; fi
  • 相关阅读:
    CSS布局--坑(2)
    CSS布局--坑(1)
    微信小程序wx:for 循环中item的keng
    初体验小程序Vue交互
    vue中数组变动更新检测
    【vue】v-if和v-show的区别
    babel把ES6转化为ES5的时候报错
    Vue.js大总结
    性能测试完整流程(二)
    性能测试完整流程(一)
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/8586101.html
Copyright © 2011-2022 走看看