javascript
Spring Cloud Alibaba IDE 工具重大升级
作者 | 銀時
導(dǎo)讀:Spring Cloud Alibaba 是由阿里巴巴于 2018 年 11 月正式開源的微服務(wù)開發(fā)一站式解決方案,經(jīng)過近兩年的發(fā)展,現(xiàn)已成為 Spring Cloud 生態(tài)中最活躍、開發(fā)體驗最好的實現(xiàn)。最近,Spring Cloud Alibaba 官方再次對周邊的工具進(jìn)行了升級,和 Cloud Toolkit 深度集成,提供了工程創(chuàng)建、代碼編寫、一鍵部署和問題診斷等一系列開發(fā)者提效工具。
今天就和大家分享一下這個工具 —— Cloud Toolkit,重點包括:
安裝 Cloud Toolkit 插件只需要 1 分鐘 -->?教程鏈接:https://www.aliyun.com/product/cloudtoolkit
第一:一鍵創(chuàng)建工程
首先,我們借助 Cloud Toolkit 來創(chuàng)建一個完整的 Spring Cloud Alibaba 項目。點擊菜單?New - Project:
選擇 Alibaba Java Initializr:
編輯項目基本屬性,點擊 Next:
選擇項目依賴,點擊 Next:
編輯項目路徑,點擊**?Finish**:
至此,項目創(chuàng)建完畢。
注意:如果發(fā)現(xiàn)沒有自動導(dǎo)入到當(dāng)前窗口的項目,請點擊 Reload All Maven Projects。
第二:采用 Java 代碼規(guī)約 Review 代碼
在寫代碼過程中,Cloud Toolkit 提供了代碼 Review 的能力。
為了更好的演示功能,我們預(yù)先編寫好了一個代碼編寫有缺陷的代碼,使用如下示例代碼,覆蓋 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 @RestController public 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 5private 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>";}@Beanpublic 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);}};}}在設(shè)置中打開代碼規(guī)約檢查:
如下圖所示,對于不符合規(guī)約的代碼會進(jìn)行提示:
第三:一鍵部署
編寫完代碼之后,就要開始進(jìn)行遠(yuǎn)程部署了。Cloud Toolkit 提供了一鍵部署的能力。點擊右鍵,Alibaba Cloud-Deploy to Host:
選擇需要部署的兩臺機器,點擊 Select:
需要部署的機器會展示在表格中:
點擊 Select Command - Add Command,添加啟動 SpringBoot 命令:
選擇添加的命令:
在 Target Directory 中,輸入 /root,點擊 Run:
部署成功后,Spring Boot 項目開始打印日志:
第四:運行時診斷
接下來,我們來演示對遠(yuǎn)程某一臺機器上運行的 Java 應(yīng)用,進(jìn)行遠(yuǎn)程診斷。
在 Cloud Toolkit 的 Host 視圖中,點擊 More-Diagnostic:
Arthas 啟動后,選擇需要診斷的 Java 進(jìn)程:
進(jìn)程掛載成功,可以開始輸入 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總結(jié)
至此,一個完整的 Spring Cloud 應(yīng)用的開發(fā)、部署和運行診斷就完成了。簡單的來說,Cloud Toolkit 是本地 IDE 插件,幫助開發(fā)者更高效地開發(fā)、測試、診斷并部署應(yīng)用。
通過插件,可以將本地應(yīng)用一鍵部署到任意服務(wù)器,甚至云端(ECS、EDAS、Kubernetes 和 小程序云 等);并且還內(nèi)置了 Arthas 診斷、Dubbo工具、Terminal 終端、文件上傳和 MySQL 執(zhí)行器等工具。其包含的功能還有很多,包括:
- 一鍵部署本地 IDE 內(nèi)項目到任意遠(yuǎn)程服務(wù)器
- 一鍵部署本地 IDE 內(nèi)項目到阿里云 EDAS、SAE 和 Kubernetes
- 本地 Docker Image 打包和倉庫推送工具
- 遠(yuǎn)程服務(wù)器實時日志查看
- 阿里云小程序開發(fā)工具
- 阿里云函數(shù)計算開發(fā)工具
- 阿里云 RDS 內(nèi)置 SQL 執(zhí)行器
- 內(nèi)置 Terminal 終端
- 文件上傳
- Apache Dubbo 框架項目模板&代碼生成
- Java 程序診斷工具
- RPC 服務(wù)端云聯(lián)調(diào)
課程推薦
去年,CNCF 與 阿里云聯(lián)合發(fā)布了《云原生技術(shù)公開課》已經(jīng)成為了 Kubernetes 開發(fā)者的一門“必修課”。今天,阿里云再次集結(jié)多位具有豐富云原生實踐經(jīng)驗的技術(shù)專家,正式推出《云原生技術(shù)實踐公開課》。課程內(nèi)容由淺入深,專注講解“ 落地實踐”。還為學(xué)習(xí)者打造了真實、可操作的實驗場景,方便驗證學(xué)習(xí)成果,也為之后的實踐應(yīng)用打下堅實基礎(chǔ)。點擊鏈接查看課程:https://developer.aliyun.com/learning/roadmap/cloudnative2020
“阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢、云原生大規(guī)模的落地實踐,做最懂云原生開發(fā)者的公眾號。”
總結(jié)
以上是生活随笔為你收集整理的Spring Cloud Alibaba IDE 工具重大升级的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes 容器网络模型和典型
- 下一篇: SpringCloud 应用在 Kube