Spring Cloud 和 Spring Boot 可以说是当前最流行的微服务开发框架了,在本文中,将向读者介绍如何在 在 Eclipse 中部署 Spring Boot / Spring Cloud 应用到阿里云。
本地开发
无论是编写云端运行的,还是编写本地运行的 Spring Boot 应用程序,代码编写本身并没有特别大的变化,因此本文采用一个极其基础的样例《在 Web 页面打印 HelloWorld 的 Spring Boot 》为例,通过启动内置的 Tomcat 容器,处理 HTTP 请求,在 Web 页面上打印一串“Hello World”的文案。
内嵌的 Tomcat 监听来自根目录的请求
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 的启动类
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);
}
}
上述代码就是一个标准的 Spring Boot 工程。
安装插件
阿里云提供了基于 Eclipse 的插件,以方便开发人员能够高效的将本地 IDE 中编写的应用程序,极速部署到 ECS中去。
插件主页:https://www.aliyun.com/product/cloudtoolkit
阿里云的这个 Eclipse 插件的安装过程,和普通的插件大同小异,这里不再赘述,读者请自行安装。
配置插件首选项
安装完插件之后,按照如下路径进行首选项配置
顶部菜单 - Window - Preferences - Alibaba Cloud Toolkit - Accounts
出现如下界面,配置阿里云账号的 AK 和 SK,即可完成首选项配置。(如果是子账号,则填写子账号的 AK 和 SK)
部署
在 Eclipse 中,鼠标右键项目工程名,在出现的菜单中点击 Alibaba Cloud - Deploy to ECS...,可会出现如下部署窗口:
在 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 &