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

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: Spring Cloud 和 Spring Boot 可以说是当前最流行的微服务开发框架了,在本文中,将向读者介绍如何在 在 Intellij IDEA 中部署 Spring Boot / Spring Cloud 应用到阿里云。

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

本地开发

无论是编写云端运行的,还是编写本地运行的 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 工程。

安装插件

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

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

配置插件首选项

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

顶部菜单 - Tools - Alibaba Cloud Toolkit - Preferences

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

image

部署

image

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

image

设置部署参数,然后单击 Run,即可执行部署。

部署参数说明

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

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

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

source ~/.bash_profile
killall java
nohup java -jar /root/act_springboot/springbootdemo-0.0.1-SNAPSHOT.jar > nohup.log 2>&1 &
相关文章
|
17天前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
361 1
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
存储 JSON Java
200 0
|
24天前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
115 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
2月前
|
人工智能 监控 安全
如何快速上手【Spring AOP】?核心应用实战(上篇)
哈喽大家好吖~欢迎来到Spring AOP系列教程的上篇 - 应用篇。在本篇,我们将专注于Spring AOP的实际应用,通过具体的代码示例和场景分析,帮助大家掌握AOP的使用方法和技巧。而在后续的下篇中,我们将深入探讨Spring AOP的实现原理和底层机制。 AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的核心特性之一,它能够帮助我们解决横切关注点(如日志记录、性能统计、安全控制、事务管理等)的问题,提高代码的模块化程度和复用性。
|
2月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
375 3
|
2月前
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
711 10
|
3月前
|
安全 Java Nacos
0代码改动实现Spring应用数据库帐密自动轮转
Nacos作为国内被广泛使用的配置中心,已经成为应用侧的基础设施产品,近年来安全问题被更多关注,这是中国国内软件行业逐渐迈向成熟的标志,也是必经之路,Nacos提供配置加密存储-运行时轮转的核心安全能力,将在应用安全领域承担更多职责。
|
3月前
|
NoSQL Java Redis
Redis基本数据类型及Spring Data Redis应用
Redis 是开源高性能键值对数据库,支持 String、Hash、List、Set、Sorted Set 等数据结构,适用于缓存、消息队列、排行榜等场景。具备高性能、原子操作及丰富功能,是分布式系统核心组件。
391 2