使用Cloud Toolkit部署SpringBoot项目到服务器

2020-05-28 00:00:00 部署 阿里 启动 安装 栏中


由于我们经常发布项目到测试服,在测试服上调试一些本地无法调试的东西,所以出现了各种打包,然后上传、启动,时间都耗费在这无聊的事情上面了,偶然在网上看到IntelliJ IDEA有 Cloud Toolkit 这个插件,安装了一下,打包、上传、启动一条龙搞定,下面介绍一下使用Cloud Toolkit部署SpringBoot项目到服务器。

准备工作

在 IntelliJ IDEA 中安装和配置 Cloud Toolkit 前,需要完成以下准备工作:

  • 下载并安装 JDK 1.8 或更高版本。

  • 下载并安装 IntelliJ IDEA ( 2018.1 或更高版本)。

安装 Cloud Toolkit

在 IntelliJ IDEA 中,您可以在 JetBrains 插件市场搜索 Alibaba Cloud Toolkit 并安装。因 JetBrains 插件市场官方服务器在海外,可能会出现访问缓慢导致无法下载等情况,此时可使用离线包安装。

注意:本步骤以 Windows 系统下 IntelliJ IDEA 中安装 Cloud Toolkit 为例。

有两种方式安装:一是在 JetBrains 插件市场安装,二是使用离线包安装

1.启动 IntelliJ IDEA。

2.在顶部菜单栏中选择 File > Settings

3.在 Settings 对话框中完成以下步骤。

4. a.在左侧导航栏中单击 Plugins

b.在 Plugins 区域的搜索栏中输入 Alibaba Cloud Toolkit

c.单击 Search in repositories

5.在弹出的 Browse Repositories 对话框中 Alibaba Cloud Toolkit 区域单击 Install

6.按照 IntelliJ IDEA 安装页面的提示,完成后续安装步骤。

结果验证

IntelliJ IDEA 重启后,在菜单栏中选择 File > Settings,在 Settings 对话框左侧的导航栏中可以看到 Alibaba Cloud Toolkit,则说明安装成功。

Cloud Toolkit 的核心功能

  • Deploy to Host:部署到任意服务器。这一个功能决定了 Cloud Toolkit 强大的之处就是可以使得每个开发者受益,它其实并不是和阿里云厂商强绑定的。我会在下文重点测评下这个功能

  • Deploy to ECS:这里的 ECS 指的阿里云的 ECS,如果你的服务部署在阿里云 ECS 上,可以选择使用这个功能,获得比 Deploy to Host 更加丰富的功能。

  • Deploy to EDAS & EDAS Serverless:EDAS & EDAS Serverless 是阿里云提供的分布式服务治理服务,可以理解为商业版的 Dubbo,具有强大的服务治理、服务调度能力,Cloud Toolkit 对 EDAS 做了个性化的部署支持,让使用者无需登录控制台,在 IDEA 中即可完成 EDAS 的部署。

  • Deploy to CS K8s:在云原生时代,很多应用使用容器化的方式进行部署,Cloud Toolkit 这一点做的还是不错的,已经具备了容器化部署的能力,具有一定的前瞻性。

这里只介绍下 Deploy to Host(部署到任意服务器),这里先部署到虚拟机上哈。

使用 Cloud Toolkit 把应用部署到任意服务器

IDEA菜单栏中的Tools --> Alibaba Cloud --> Alibaba Cloud View --> Host

点击上面截图中的Add Host

成功连接之后,右键 项目 --> Alibaba Cloud --> Deploy to Host

查看服务器上的文件:

项目代码:

启动脚本(来源地址:https://www.cnblogs.com/wangfajun/p/9585530.html)

  1. #!/bin/bash

  2. export JAVA_HOME=/root/tools/jdk1.8.0_181

  3. export JRE_HOME=/$JAVA_HOME/jre

  4. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  5. export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin


  6. #这里可替换为你自己的执行程序,其他代码无需更改

  7. APP_NAME=/usr/local/test/demo111-0.0.1-SNAPSHOT.jar


  8. #使用说明,用来提示输入参数

  9. usage() {

  10. echo "Usage: sh robotcenter.sh [start|stop|restart|status]"

  11. exit 1

  12. }


  13. #检查程序是否在运行

  14. is_exist(){

  15. pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`

  16. #如果不存在返回1,存在返回0

  17. if [ -z "${pid}" ]; then

  18. return 1

  19. else

  20. return

  21. fi

  22. }


  23. #启动方法

  24. start(){

  25. is_exist

  26. if [ $? -eq ]; then

  27. echo "${APP_NAME} is already running. pid=${pid}"

  28. else

  29. nohup java -jar ${APP_NAME} >robotcenter.out 2>&1 &

  30. fi

  31. }


  32. #停止方法

  33. stop(){

  34. is_exist

  35. if [ $? -eq "0" ]; then

  36. kill -9 $pid

  37. else

  38. echo "${APP_NAME} is not running"

  39. fi

  40. }


  41. #输出运行状态

  42. status(){

  43. is_exist

  44. if [ $? -eq "0" ]; then

  45. echo "${APP_NAME} is running. Pid is ${pid}"

  46. else

  47. echo "${APP_NAME} is NOT running."

  48. fi

  49. }


  50. #重启

  51. restart(){

  52. stop

  53. sleep 5

  54. start

  55. }


  56. #根据输入参数,选择执行对应方法,不输入则执行使用说明

  57. case "$1" in

  58. "start")

  59. start

  60. ;;

  61. "stop")

  62. stop

  63. ;;

  64. "status")

  65. status

  66. ;;

  67. "restart")

  68. restart

  69. ;;

  70. *)

  71. usage

  72. ;;

  73. esac

访问浏览器:

大功告成!!

更多教程可以去官网查看哦。



相关文章