• IDEA使用 Alibaba Cloud Toolkit 插件 自动打包部署maven项目至服务器


    1. 首先安装插件Alibaba Cloud Toolkit

    安装成后,会提示重启IDEA。

    2. 打开插件工具 Tool >> Alibaba Cloud >> Deploy to Host

    配置远程服务器账号密码

    首次打开显示如下,需要添加Host,点击后面的 Add Host

     

     

     

    添加完成。再次打开 Tool >> Alibaba Cloud >> Deploy to Host 配置

    这里自动新增了一个配置如上图,可以根据自己的项目打包自定义适配:

     多模块项目可以灵活配置,这里分步执行maven命令,先执行整个项目的clean,然后执行构建

     

     

     

     

     启动脚本

    #!/bin/bash
    #这里可替换为你自己的执行程序,其他代码无需更改
    APP_NAME=tmall.jar
    LOG_NAME=tamll.log

    #使用说明,用来提示输入参
    usage() {
        echo "Usage: sh start.sh [start|stop|restart|status]"
        exit 1
    }
    #检查程序是否在运行
    is_exist() {
        pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' `
        #如果不存在返回1,存在返回0
        if [ -z "${pid}" ]; then
            return 1
        else
            return 0
        fi
    }

    #启动方法
    start() {
        is_exist
        if [ $? -eq "0" ]; then
            echo "${APP_NAME} is already running. pid=${pid} ."
        else
            nohup java -jar /home/Tmall_demo/webapps/$APP_NAME > /home/Tmall_demo/logs/$LOG_NAME 2>&1 &
        fi
    }

    #停止方
    stop() {
        is_exist
        if [ $? -eq "0" ]; then
            kill -9 $pid
        else
            echo "${APP_NAME} is not running"
        fi
    }

    #输出运行状态
    status() {
        is_exist
        if [ $? -eq "0" ]; then
            echo "${APP_NAME} is running. Pid is ${pid}"
        else
            echo "${APP_NAME} is not running."
        fi
    }

    #重启
    restart() {
        stop
        start
    }

    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
        "start")
            start
            ;;
        "stop")
            stop
            ;;
        "status")
            status
            ;;
        "restart")
            restart
            ;;
        *)
            usage
            ;;
    esac

     

  • 相关阅读:
    用户自定义消息及层次划分
    【论文阅读笔记】NTIRE 2022 Burst Super-Resolution Challenge
    Java递归实现迷宫问题和八皇后
    [Android开发学iOS系列] 快速上手UIKit
    PHP 运行 mkdir() Permission Denied 的原因
    [附源码]Python计算机毕业设计Django行程规划app
    Shell编程规范与变量使用
    ASP.NET Core的全局拦截器(在页面回发时,如果判断当前请求不合法,不执行OnPost处理器)
    GAMES101-ASSIGNMENT7(作业7)
    Nacos 2.0 集群使用 Nginx 做代理
  • 原文地址:https://blog.csdn.net/wufaqidong1/article/details/125532890