ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-01-10 09:58:35  阅读:180  来源: 互联网

标签:插件 Java tomcat %% echo 点击 path 服务器 war


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

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

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

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

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

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

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

接下来点击编辑配置

选中 ECS on Alibaba Cloud

 页面需要设置的地方如下

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

Maven Build:

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

Upload File:

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

Target Ecs:

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

Target Directory:

需要上传到服务器的位置

Command:

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

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

执行前:

 需要执行的maven命令(clean install或者 clean package 等打包命令),可以选择执行的文件夹。

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

第二种方式HOST部署

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

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

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

点击 Deploy to Host

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

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

下面附上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 &

两条命令可以一起执行

标签:插件,Java,tomcat,%%,echo,点击,path,服务器,war
来源: https://blog.csdn.net/lou_xy/article/details/122362676

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有