部署流程

1.安装插件

IDEA -> Settings -> Plugins,搜索Alibaba Cloud Toolkit插件进行安装。

idea 阿里仓库 idea配置阿里云_idea 阿里仓库

如果在Marketplace搜索不到,到官网进行安装:https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit

2.配置阿里云AK与SK

插件装好后选择 Tools -> Alibaba Cloud -> Preferences 进行设置。

idea 阿里仓库 idea配置阿里云_java_02

在阿里云官网获取个人的AccessKey,填入到Accounts中,可以使用RAM子用户的AccessKey。

idea 阿里仓库 idea配置阿里云_spring_03

idea 阿里仓库 idea配置阿里云_java_04

选择Apperances & Behavior -> System Settings,设置个人Region。

idea 阿里仓库 idea配置阿里云_spring_05

3.打开Alibaba Cloud View进行连接

打开Tools -> Alibaba Cloud View,根据自己的服务器类型进行连接。

idea 阿里仓库 idea配置阿里云_服务器_06

如果服务器是ECS,则选择Alibaba Cloud ECS

如果服务器是轻量级服务器,则Host进行连接。

这里选择Host连接阿里云轻量级服务器。

选择Add Host

idea 阿里仓库 idea配置阿里云_服务器_07

填写host、username以及password进行连接。一般host填写公网ip。

idea 阿里仓库 idea配置阿里云_Cloud_08


Test Connection成功后,加入该Host。

4.本地打包

注:可以跳过这一步,直接使用插件中的Maven build进行打包。

本地的SpringBoot项目调通后,使用spring-boot-maven-plugin插件进行打包,其中pom.xml为:

<project>
    ...
	<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 项目中使用了热部署插件 -->
                    <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

打开Terminal,输入mvn clean package即可,最后导出的jar包在 /target 目录下

idea 阿里仓库 idea配置阿里云_服务器_09

5.部署服务器

右键项目,在选项中找到Alibaba Cloud,选择Deploy To Host

idea 阿里仓库 idea配置阿里云_Cloud_10

如果没有本地打包出jar包,可以使用Maven Build进行部署;

如果本地已经打包jar包则可以直接选择Upload File

点击加号添加Host,填写Traget Directory和After deploy就可以run了。

idea 阿里仓库 idea配置阿里云_服务器_11

引用官方的参数说明:

  • Deploy File:部署文件包含两种方式。
  • Maven Build:如果当前工程采用 Maven 构建,可以使用 Cloud Toolkit 直接构建并部署。
  • Upload File:如果当前工程并非采用 Maven 构建,或者本地已经存在打包好的部署文件,可以选择并直接上传本地的部署文件。
  • Target Deploy ECS:在下拉列表中选择地域,然后在地域中选择要部署的 ECS 实例。
  • Traget Directory :输入在 ECS 上部署路径,如 /root/act_springboot
  • Commond / After deploy:输入应用启动命令,如 sh /root/act_springboot/restart.sh。表示在完成应用包的部署后,需要执行的命令 —— 对于 Spring Boot 程序而言,通常是一句 java -jar XXXX.jar 的启动命令。

在这里执行sh /home/root/springboot/restart.sh,文件内容如下:

killall java
nohup java -jar /home/root/springboot/xxx.jar &
  • killall java:结束当前所有java进行,防止重新部署的时候有其他进程占用着端口
  • nohup java -jar /home/root/springboot/xxx.jar &:不挂断运行命令,终端关闭时jar也会一直运行

最后提醒一下,部署成功后要将服务器的Tomcat端口放行,阿里云安全组加上端口号,才能正常访问。

参考

官方:在 Intellij IDEA 中部署 Spring Boot / Spring Cloud 应用到阿里云

Alibaba Cloud Toolkit一键部署本地jar包到host服务器