Spring Cloud Alibaba IDE 工具重大升级

2020年9月25日 305点热度 0人点赞 0条评论

图片

作者 | 银时


导读:Spring Cloud Alibaba 是由阿里巴巴于 2018 年 11 月正式开源的微服务开发一站式解决方案,经过近两年的发展,现已成为 Spring Cloud 生态中最活跃、开发体验最好的实现。最近,Spring Cloud Alibaba 官方再次对周边的工具进行了升级,和 Cloud Toolkit 深度集成,提供了工程创建、代码编写、一键部署和问题诊断等一系列开发者提效工具。


今天就和大家分享一下这个工具 —— Cloud Toolkit,重点包括:


  1. 在 IDE 中一键创建 Spring Cloud Alibaba 项目

  2. 演示采用 Java 代码规约 Review 代码

  3. 一键部署到任意两台机器

  4. 一键部署到阿里云容器服务 ACK

  5. 使用 Arthas 进行远程诊断


安装 Cloud Toolkit 插件只需要 1 分钟 --> 教程链接:https://www.aliyun.com/product/cloudtoolkit


图片


图片

第一:一键创建工程

首先,我们借助 Cloud Toolkit 来创建一个完整的 Spring Cloud Alibaba 项目。点击菜单 New - Project:

图片

选择 Alibaba Java Initializr


图片

编辑项目基本属性,点击 Next


图片

选择项目依赖,点击 Next


图片

编辑项目路径,点击 Finish


图片

至此,项目创建完毕。


注意:如果发现没有自动导入到当前窗口的项目,请点击 Reload All Maven Projects


图片

图片

第二:采用 Java 代码规约 Review 代码

在写代码过程中,Cloud Toolkit 提供了代码 Review 的能力。


为了更好的演示功能,我们预先编写好了一个代码编写有缺陷的代码,使用如下示例代码,覆盖 DemoApplication.java。


package com.example.demo;
import java.time.LocalDateTime;import java.time.ZoneId;import java.time.ZoneOffset;import java.util.concurrent.ThreadLocalRandom;
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.springframework.boot.CommandLineRunner;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.Bean;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication@RestControllerpublic class DemoApplication {
private static String TEST_STRING = "test";
private static LocalDateTime time = LocalDateTime.now(ZoneId.of(ZoneOffset.ofHours(8).getId()));
private static final Logger logger = LogManager.getLogger();
public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }
private int counter = 0;
// watch com.example.demo.DemoApplication print '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1' // trace com.example.demo.DemoApplication print -v -n 5 --skipJDKMethod false '1==1' // stack com.example.demo.DemoApplication print -v -n 5 private double print(String s) { System.out.println(s); int delay = ThreadLocalRandom.current().nextInt(3000); try { Thread.sleep(delay); } catch (InterruptedException e) { e.printStackTrace(); } if (delay % 3 == 0) { throw new IllegalStateException("test exception"); } return Math.random(); }
@GetMapping("/") public String root() { return "<h1>Maven Spring Boot Application started at ------ " + time + "</h1>"; }
@Bean public CommandLineRunner runner() { return args -> { while (true) { String msg = LocalDateTime.now(ZoneId.of(ZoneOffset.ofHours(8).getId())).toString() + " " + counter++; try { print(msg); } catch (Exception e) { } Thread.sleep(333); } }; }

}

在设置中打开代码规约检查:


图片

如下图所示,对于不符合规约的代码会进行提示:


图片

图片

第三:一键部署

编写完代码之后,就要开始进行远程部署了。Cloud Toolkit 提供了一键部署的能力。
点击右键,Alibaba Cloud-Deploy to Host:

图片
图片
选择需要部署的两台机器,点击 Select:

图片

需要部署的机器会展示在表格中:


图片

点击 Select Command - Add Command,添加启动 SpringBoot 命令:图片

选择添加的命令:

图片

在 Target Directory 中,输入 /root,点击 Run:


图片

部署成功后,Spring Boot 项目开始打印日志:


图片

图片

第四:运行时诊断

接下来,我们来演示对远程某一台机器上运行的 Java 应用,进行远程诊断。


在 Cloud Toolkit 的 Host 视图中,点击 More-Diagnostic:


图片

Arthas 启动后,选择需要诊断的 Java 进程:


图片

进程挂载成功,可以开始输入 Arthas 诊断命令:


图片

atch com.example.demo.DemoApplication print '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'

图片

stack com.example.demo.DemoApplication print -v -n 5

图片

图片

总结

至此,一个完整的 Spring Cloud 应用的开发、部署和运行诊断就完成了。简单的来说,Cloud Toolkit 是本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。


通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、Kubernetes 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传和 MySQL 执行器等工具。其包含的功能还有很多,包括:

  • 一键部署本地 IDE 内项目到任意远程服务器

  • 一键部署本地 IDE 内项目到阿里云 EDAS、SAE 和 Kubernetes

  • 本地 Docker Image 打包和仓库推送工具

  • 远程服务器实时日志查看

  • 阿里云小程序开发工具

  • 阿里云函数计算开发工具

  • 阿里云 RDS 内置 SQL 执行器

  • 内置 Terminal 终端

  • 文件上传

  • Apache Dubbo 框架项目模板&代码生成

  • Java 程序诊断工具

  • RPC 服务端云联调

58570Spring Cloud Alibaba IDE 工具重大升级

这个人很懒,什么都没留下

文章评论