开发者服务与工具 + 关注
手机版

在 Eclipse 中部署 Spring Boot / Spring Cloud 应用到阿里云

  1. 云栖社区>
  2. 开发者服务与工具>
  3. 博客>
  4. 正文

在 Eclipse 中部署 Spring Boot / Spring Cloud 应用到阿里云

银时 发布时间:2018-11-07 08:34:29 浏览894 评论6

摘要: 今天晚上,听了云栖社区 Java 专家 徐雷frank 老师的《Java Spring Boot开发实战系列课程》,受益匪浅,回头就写了一段程序,借助阿里云的插件工具,顺利部署到阿里云上,分享给大家。

Spring Cloud 和 Spring Boot 可以说是当前最流行的微服务开发框架了,在本文中,将向读者介绍如何在 在 Eclipse 中部署 Spring Boot / Spring Cloud 应用到阿里云。

本地开发

无论是编写云端运行的,还是编写本地运行的 Spring Boot 应用程序,代码编写本身并没有特别大的变化,因此本文采用一个极其基础的样例《在 Web 页面打印 HelloWorld 的 Spring Boot 》为例,通过启动内置的 Tomcat 容器,处理 HTTP 请求,在 Web 页面上打印一串“Hello World”的文案。

内嵌的 Tomcat 监听来自根目录的请求

image

package com.aliyun.toolkit.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorldController {
 
    @RequestMapping("/")
    public String sayHello() {
        return "Alibaba Cloud Toolkit: Hello,World.";
    }
}

Spring Boot 的启动类

image

package com.aliyun.toolkit.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Startup {
 
    public static void main(String[] args) {
        SpringApplication.run(Startup.class,args);
    }
}

SpringBoot Demo 工程下载

上述代码就是一个标准的 Spring Boot 工程。

安装插件

阿里云提供了基于 Eclipse 的插件,以方便开发人员能够高效的将本地 IDE 中编写的应用程序,极速部署到 ECS中去。
插件主页:https://www.aliyun.com/product/cloudtoolkit

阿里云的这个 Eclipse 插件的安装过程,和普通的插件大同小异,这里不再赘述,读者请自行安装。

配置插件首选项

安装完插件之后,按照如下路径进行首选项配置

顶部菜单 - Window - Preferences - Alibaba Cloud Toolkit - Accounts

出现如下界面,配置阿里云账号的 AK 和 SK,即可完成首选项配置。(如果是子账号,则填写子账号的 AK 和 SK)

image

部署

image

在 Eclipse 中,鼠标右键项目工程名,在出现的菜单中点击 Alibaba Cloud - Deploy to ECS...,可会出现如下部署窗口:

image

在 Deployment Configurations 对话框设置部署参数,然后单击 Deploy,即可执行部署。

部署参数说明

  • Deploy File:部署文件包含两种方式。

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

/root/springbootdemo/restart.sh 内容如下:

source ~/.bash_profile
killall java
nohup java -jar /root/springbootdemo/springbootdemo-0.0.1-SNAPSHOT.jar > nohup.log 2>&1 &
【云栖快讯】云栖专辑 | 阿里开发者们的第20个感悟:好的工程师为人写代码,而不仅是为编译器  详情请点击

网友评论

1F
兔子爱咖啡

阿里云部署 插件方便啊

2F
兔子爱咖啡

Spring Boot也在学呢 蛮好

sigma_ag 赞同
sigma_ag

希望对你有帮助

评论
3F
微wx笑

下周试试

4F
微wx笑

killall java 这个杀伤力有点大

银时

哈哈。只是举个例子,你可以通过ps aux|grep 方式筛选出对应的进程。

评论
5F
1360720990987858

你好,我想咨询一下有没有在配置Commond的时候输入命令点击“OK”后没有任何响应的情况发生,如果发生可能是什么原因造成的。

6F
hz_ly

请教下,用eclispe部署spring boot父pom项目(5个子项目),为何不能上传到服务器上,部署其中一个子项目可以

银时

通常选中子工程直接部署就可以了。https://yq.aliyun.com/articles/656292 加入交流群,到群里直接贴图问下吧,谢谢

评论