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

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

准备工作

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

安装 Cloud Toolkit

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

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

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

  1. 启动 IntelliJ IDEA。

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

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

    1. 在左侧导航栏中单击 Plugins

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

    3. 单击 Search in repositories

      1563002387661

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

    1563002387661

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

结果验证

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

1563002387661

Cloud Toolkit 的核心功能

1563002387661

  • 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

1563002794445

点击上面截图中的Add Host

1563003014470

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

1563003516729

1563003630680

查看服务器上的文件:

1563004067649

项目代码:

1563004135788

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

#!/bin/bash
export JAVA_HOME=/root/tools/jdk1.8.0_181
export JRE_HOME=/$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=/usr/local/test/demo111-0.0.1-SNAPSHOT.jar

#使用说明,用来提示输入参数
usage() {
    echo "Usage: sh robotcenter.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 ${APP_NAME}  >robotcenter.out 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
  sleep 5
  start
}

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

访问浏览器:

1563004194670

大功告成!!

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

详细教程:

https://helpcdn.aliyun.com/document_detail/98762.html

https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247487802&idx=1&sn=09939c3215f867e60c3a95282c44c57e&chksm=9bd0bca2aca735b4a04b783ef93766330f0f4edba4a80028d117f4cbd2f688619abc689242da&mpshare=1&scene=1&srcid=0713Egw2kQHgxmnnvLtpn7FR&key=dd5051400a9fb58f194090a94803ee3fbcd9307944893b4d0b1721e499947f534c7e8bf22d7e88319809f3e48195cf37780d104e122b185b22159f4ad0e886b908f1e8b2ed39893bf657f661f7936e13&ascene=1&uin=MjExOTQ4OTY2MQ%3D%3D&devicetype=Windows+10&version=62060833&lang=zh_CN&pass_ticket=UbG%2BN0DuvDCIt7LAayaPCGWJlS66afLPyLKR4OHF962gfgkqjtwLDNWSyXgbei3L

posted @ 2019-11-07 19:15  小葱拌豆腐~  阅读(995)  评论(0编辑  收藏  举报