使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

打开IntelliJ IDEA编译器,点击文件==>点击设置(setting)

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

在设置页面点击插件(英文应该是 Plugins ,对IntelliJ IDEA汉化感兴趣的同学可以在这个页面搜索 Chinese Simplified Language Pack/中文语言包 安装插件,安装之后重启编译器就可以使用汉化版本的IDEA了),在搜索框内搜索 Alibaba Cloud Toolkit,安装之后重启编译器就安装好了插件。

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

安装好插件就可以使用插件进行远程部署了,部署通常使用到两种方式。第一种方式是ECS部署,部署到阿里云的服务器上。第二种方式是HOST方式,部署到本地机房或者其他非阿里云服务器上。

首先介绍第一种方式ECS部署

这种方式首先需要将你的阿里云账号,密码等信息维护到IDEA中,维护之后就可以选择到你账号权限对应的ECS示例,具体操作流程如下。

点击文件==>点击设置(setting)

选择 Alibaba Cloud Toolkit 下的 Accounts 菜单,在对应的输入框输入你的阿里云账号,密码,密钥等信息,点击应用,确定之后就维护好了你的阿里云账号信息。

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

接下来点击编辑配置

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

选中 ECS on Alibaba Cloud

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

 页面需要设置的地方如下

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

下面对每个小项进行一下详解

Maven Build:

选用这种方式是通过maven命令进行打包,在打包成功之后进行上传到服务器的操作。

Upload File:

这种方式是指定好文件所在位置,直接上传指定文件,页面如下

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

Target Ecs:

选择服务器列表,点击加号就可以获取ECS服务器列表,如果没有服务器请确认服务所在集群位置是否正确,点击select选择要部署的服务器。

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

Target Directory:

需要上传到服务器的位置
使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

Command:

 上传之后要执行的命令,可以是服务器上的某个文件(Windows服务器一般是bat脚本,Linux服务器一般是.sh脚本),或者是一段可以直接执行的命令。

点击Select Command 选择之前保存的命令或者脚本位置。如果没有需要通过 Add Command添加

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

执行前:

 需要执行的maven命令(clean install或者 clean package 等打包命令),可以选择执行的文件夹。使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

 都配置好后,点击应用,确定。在启动工程那个下拉框里就会出现这个图标,点击开始就可以开始打包部署了 。

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

第二种方式HOST部署

所有流程和配置都和ECS配置一样,只有选择服务器的时候略有不同。

在编译器的最下方点击 Alibaba CLoud View,选择Host,Tab页,点击Add Host。

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

 填入IP,端口号,账号,密码 这些必要信息后,点击测试链接情况,成功链接之后点击添加,就可以在服务器列表中找到这台服务器。

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

点击 Deploy to Host

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

点击加号,选择需要上传的服务器

使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)

 以上就是部署到远程服务器的两种方式。

下面附上jar包和war包的启动命令,需要的同学可以参考一下。

war包命令:

 Windows:

先根据端口号停止服务,然后执行 shutdown.bat 和 startup.bat ,就可以重启tomcat

---------------------------------------------------------------------------------------------------------------------------------

 @echo off
 for %%a in (8088) do (
    set pid=0
    for /f "tokens=2,5" %%b in ('netstat -ano ^| findstr ":%%a"') do (
        set temp=%%b
        for /f "usebackq delims=: tokens=1,2" %%i in (`set temp`) do (
            if %%j==%%a (
                taskkill /f /pid %%c
                set pid=%%c
                echo 端口号【%%a】相关进程以杀死
            ) else (
                echo 不是本机占用端口【%%a】
            )
        )
    )
    if !pid!==0 (
       echo 端口号【%%a】没有占用
    )
)
cd /d "D:\tomcat\apache-tomcat-8.5.73\bin"  
title Tomcat重新启动脚本  
call "shutdown.bat"
call "startup.bat"
exit

 Linux:

#!/bin/sh
#定义tomcat路径变量:完整路径或最后级路径文件夹都可以
tomcat_path='/usr/dev/tomcat'
#获取 tomcat_path 所知tomcat 的进程ID
TomcatID=$(ps -ef |grep tomcat |grep -w $tomcat_path|grep -v 'grep'|awk '{print $2}')
echo "##############################################开始重启Tomcat Server[$tomcat_path、进程ID:$TomcatID]################################################"
#判断进程是否存在  注意空格,if用法参照http://blog.chinaunix.net/uid-20735106-id-3434959.html
if [ "$TomcatID" != "" ] ; then
  echo "Tomcat Server[$tomcat_path、进程ID:$TomcatID] Was Started! Begin To Shutdown Tomcat Server!"
  sh /usr/dev/tomcat/bin/shutdown.sh
  echo "Tomcat Server[$tomcat_path] Was Shutdown! Begin To Restart Tomcat Server!"
  sh /usr/dev/tomcat/bin/startup.sh
  echo "Tomcat Server[$tomcat_path] Was Started!"
else
  echo "Tomcat Server[$tomcat_path] Has Not Started! Begin to Start Tomcat Server!"
  sh /usr/dev/tomcat/bin/startup.sh
  echo "Tomcat Server[$tomcat_path] Was Started!"
fi
NewTomcatID=$(ps -ef |grep tomcat |grep -w $tomcat_path|grep -v 'grep'|awk '{print $2}')
if [ "$NewTomcatID" != "" ] ; then
  echo "#############################################Success:Tomcat Server[$tomcat_path、进程ID:$NewTomcatID]重启完毕!#############################################"
else
  echo "################################################Fail:Tomcat Server[$tomcat_path]重启失败!############################################"
fi

 jar包命令:

Windows:

echo off
//关闭java进程
for %%a in (8088) do (
    set pid=0
    for /f "tokens=2,5" %%b in ('netstat -ano ^| findstr ":%%a"') do (
        set temp=%%b
        for /f "usebackq delims=: tokens=1,2" %%i in (`set temp`) do (
            if %%j==%%a (
                taskkill /f /pid %%c
                set pid=%%c
                echo 端口号【%%a】相关进程以杀死
            ) else (
                echo 不是本机占用端口【%%a】
            )
        )
    )
    if !pid!==0 (
       echo 端口号【%%a】没有占用
    )
)
echo 'close java project'
//为了保险起见等待进程3s关闭结束
ping 127.0.0.1 -n 3
echo 'start java project'
start java -jar test.jar  --spring.profiles.active=test
exit

 Linux:

根据jar包名称停止进程

ps -ef | grep -w "el-tm-0.0.1-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}'  | xargs kill -9;

启动jar包
nohup java -jar el-tm-0.0.1-SNAPSHOT.jar > catalina.out  2>&1 &

两条命令可以一起执行

上一篇:高德开放平台推出LBS游戏行业解决方案提供专业地图平台能力支持


下一篇:Linux基操 笔记