当前位置: 首页 > news >正文

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/springbootdemo/springbootdemo-0.0.1-SNAPSHOT.jar > nohup.log 2>&1 &

相关文章:

  • 线程之间调用问题
  • cdn转es5
  • Selenium 2自动化测试实战
  • css控制默认滚动条样式
  • MaxCompute表设计最佳实践
  • 一个JAVA程序员成长之路分享
  • 查看nginx服务器状态
  • SpringBoot整合Swagger2
  • 3年工作经验的Java程序员面试经过
  • Vue项目Webpack优化实践,构建效率提高50%
  • 关于tio 协议(Packet)中 消息头的长度(HEADER_LENGTH)的理解
  • 机器学习练习(一)-使用jupyter notebook
  • Mysql 批量写入数据,对于这类性能问题,你是如何优化的
  • spring mvc返回json字符串的方式
  • Linux 下的dd命令使用详解
  • [deviceone开发]-do_Webview的基本示例
  • Java到底能干嘛?
  • java中的hashCode
  • Js基础——数据类型之Null和Undefined
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • React系列之 Redux 架构模式
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 聊一聊前端的监控
  • 使用权重正则化较少模型过拟合
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 第二十章:异步和文件I/O.(二十三)
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (C#)获取字符编码的类
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (算法)前K大的和
  • (循环依赖问题)学习spring的第九天
  • (转) Android中ViewStub组件使用
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net和php怎么连接,php和apache之间如何连接
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .Net中wcf服务生成及调用
  • .project文件
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [acm算法学习] 后缀数组SA
  • [android] 看博客学习hashCode()和equals()
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [BZOJ1053][HAOI2007]反素数ant
  • [CareerCup] 17.8 Contiguous Sequence with Largest Sum 连续子序列之和最大
  • [java进阶]——方法引用改写Lambda表达式
  • [linux c]linux do_div() 函数用法
  • [linux] C语言Linux系统编程进程基本概念
  • [Python] 集合操作及方法总结