SmartIDE v0.1.17 已經發布 - 模版庫遠程模式和插件市場公測

SmartIDE v0.1.17 已經發布,本次同步更新了CLI (Build 3332) 的穩定版通道和Server (Build 3333) 生產環境(內測中)。請參考對應的 安裝說明 獲取最新版。在剛剛完成的Sprint 17中,我們主要完成以下特性。

  • 模板庫:對cli現有的 smartide new 指令進行了增強,支援針對遠程主機使用 new 指令,用戶只需要在 new 指令中增加host 參數即可在遠程主機上使用模板庫創建工作區。同時,我們已經將模版庫集成到server中,用戶可以使用網頁的方式選擇模版並創建工作區。

  • 插件市場:針對開源項目Eclipse OpenVSX進行了中文漢化和中國本地部署,用戶可以通過 //marketplace.smartide.cn/ 訪問位於北京數據中心的插件市場。這個插件市場支援VSCode, VSCodium, Code-Server, OpenVSCode Server, OpenSumi以及Eclipse Theia 使用。SmartIDE插件市場可以大幅提升以上IDE的插件安裝速度(根據你自己的網路情況,提高2-5X),並且支援企業內網本地部署,為研發企業內部針對類VSCode的IDE提供安全可控的插件管理機制提供可能。

模板庫

B站影片 SmartIDE快速啟動 - 使用模版庫搭建若依微服務開發環境_嗶哩嗶哩_bilibili

SmartIDE CLI 原有的模板庫功能允許用戶通過一個簡單的指令 smartide new 就可以一鍵創建基於7種技術棧和4種IDE的容器化 工作區,這個功能原來只能在開發者本機使用,無法支援遠程伺服器。在Sprint 17 中我們針對這個功能進行了增強。允許用戶直接在指定的遠程伺服器上新建工作區,同時將這個功能集成到了 Server 中,允許用戶通過網頁完成基於模版的工作區創建。

在Server中使用模版庫

SmartIDE Server 是一款開源的容器化工作區管理工具,你可以在任何可以運行Docker和Kubernetes的環境中自行部署。在Sprint 17中,我們將模板庫功能引入到Server中,允許用戶通過網頁選擇模版並一鍵完成部署。

Server模版库

以下是使用Server版模板庫功能創建 若依微服務版本 快速開發框架的演示影片,若依微服務版的模版包含 vue.js 的前端應用,一系列 Java Spring 後端服務,Nacos 服務註冊中心,redis 快取和 mysql 資料庫(配置phpMyAdmin 管理工具)以及 SonaQube 程式碼檢查工具;這是一個相對複雜的工作區,使用server版的模板庫開發者可以一鍵創建以上所有環境,無需關心這些組件之間的配置,所有這些配置都已經預先設置好並保存在 IDE配置文件 中了。

 

使用new指令創建遠程工作區

使用遠程new指令創建工作區的操作如下

## 首先使用 smartide host 指令添加主機
smartide host add <主機IP或者域名> --username <用戶名> --password <密碼> [--port <SSH埠號,默認22>]
## 使用 smartide new 指令在指定的主機上創建工作區
smartide new --host <HostId> <模版名稱> --type <子類型名稱> --workspacename <工作名稱>
## 如果在本地的當前目錄中創建工作,則可以省略host和workspaceName參數
## type參數也可以省略,則可以使用當前默認模版
smartide new <模版名稱> --type <子類型名稱>

當前支援的模版列表如下,列表中的所有組合都可以通過以上指令用於在遠程主機上創建工作區

Templatetype說明
node 默認 不帶有任何WebIDE的node/JavaScript前段開發環境,內置nvm,可以切換node 12,14,16
  vscode 使用vscode WebIDE
  webstorm 使用JetBrains WebStorm WebIDE (Projector)
  opensumi 使用阿里的OpenSumi WebIDE
Java 默認 不帶有任何WebIDE的Java開發環境 + Node/JavaScript前段開發環境,內置OpenJDK 11
  vscode 使用vscode WebIDE
  idea 使用JetBrains IntelliJ IDEA WebIDE (社區版,免授權,Projector)
python 默認 不帶有任何WebIDE的python開發環境 + Node/JavaScript前段開發環境, 內置 Python 2 和 Python 3
  vscode 使用vscode WebIDE
  pycharm 使用JetBrains PyCharm WebIDE (Projector)
dotnet 默認 不帶有任何WebIDE的.NET 6開發環境 + Node/JavaScript前段開發環境
  vscode 使用vscode WebIDE (自動安裝.net調試插件)
  rider 使用JetBrains Rider WebIDE (Projector)
golang 默認 不帶有任何WebIDE的 go語言 開發環境 + Node/JavaScript前段開發環境,內置 1.17.5 和 1.16.12
  vscode 使用vscode WebIDE
  goland 使用JetBrains GoLand WebIDE (Projector)
php 默認 不帶有任何WebIDE的 php 開發環境 + Node/JavaScript前段開發環境,內置 php7.4 和 apache2
  vscode 使用vscode WebIDE
  phpstorm 使用JetBrains PHPStorm WebIDE (Projector)
cpp 默認 不帶有任何WebIDE的 C/C++ 開發環境 + Node/JavaScript前段開發環境,內置 clang 和 cmake
  vscode 使用vscode WebIDE
  clion 使用JetBrains CLion WebIDE (Projector)

以上所有模版以及模版所使用的開發者鏡像(Dockerfile和相關程式碼、腳本)均開源提供給社區,具體可以參考以下鏈接

插件市場

B站影片 SmartIDE插件市場 提升VSCode插件安裝速度/支援企業內網私有部署_嗶哩嗶哩_bilibili

VSCode以及類VSCode IDE(包括:VSCodium, Code-Server, OpenSumi 和 Eclipse Theia)都使用國外的插件市場 open-vsx.org 作為數據來源。對於中國的開發者來說,因為網路原因造成插件安裝緩慢或者安裝失敗的情況經常出現。同時,在很多企業內部,開發者也在大量使用VSCode作為自己的主力開發工具,由於安全管控的原因,企業內部的開發者往往無法訪問外部互聯網,開發者為了繞過企業的安全性管控會自行下載、複製和導入未經企業審核的VSCode插件進入企業受管控網路使用,這些做法會對企業的資訊安全造成很大威脅。

為了解決以上這些痛點問題,SmartIDE針對 open-vsx.org 進行了漢化並進行了中國本地化部署。現在開始,開發者可以訪問位於中國數據中心的 SmartIDE插件市場 ,並按我們官網文檔中的方式修改自己 VSCode 中的 product.js 配置文件,即可使用 SmartIDE插件市場 安裝插件,根據我們的測試,通過我們提供的插件市場安裝插件可以獲取至少2-5X的速度提升。

SmartIDE 插件市場地址 //marketplace.smartide.cn/

SmartIDE插件市场

product.js 文件配置如下,具體請見 SmartIDE 插件市場文檔

"extensionsGallery": {
    "serviceUrl": "//marketplace.smartide.cn/vscode/gallery",
    "itemUrl": "//marketplace.smartide.cn/vscode/item"
}

"linkProtectionTrustedDomains": [
    "//marketplace.smartide.cn"
]

以下影片是使用VSCodium分別從 Eclipse OpenVSX 和 SmartIDE插件市場 下載插件的速度比較,根據網路狀況不同,可以提速2-5倍甚至更多。

 

SmartIDE插件市場的程式碼以及部署文檔開源免費(EPL-2.0)提供給社區,並且我們為其企業提供私有部署技術支援服務。相關文檔如下:

說明:Eclipse OpenVSX 是Eclipse基金會旗下的一款採用EPL-2.0開源授權的開源軟體,按照 Github官網 上的說法:OpenVSX提供了一個 Visual Studio Marketplace 的替代品,包括可用於管理VSCode插件的資料庫以及對應的Web應用,同時提供了一個cli工具用於後台管理。Eclipse OpenVSX出現的原因是微軟並不允許類 VSCode IDE (VSCode的Fork) 使用官方的插件市場,因此社區需要一個類似的基礎設施服務,具體可以參考這個 Issue 。

SmartIDE插件市場是OpenVSX的一個fork,我們在OpenVSX的基礎上進行一些修改以便適合中國開發者使用,包括:介面的中文漢化,插件自動同步到中國(使用GitHub Action),針對中國部署進行驗證,測試以及服務託管。因此,SmartIDE插件市場是 Eclipse OpenVSX 的一個代理服務,目的是方便中國的開發者安裝和管理VSCode的插件。同時,也支援企業使用SmartIDE插件市場進行私有部署。當然,我們也歡迎中國的開發者直接將自己的插件發布到我們所運行的 SmartIDE插件市場,如果你有類似的需求,請和我們聯繫。

社區早鳥計劃

如果你對雲原生開發環境感興趣,請掃描以下二維碼加入我們的 SmartIDE社區早鳥計劃

謝謝您對SmartIDE的關注,讓我們一起成為雲原生時代的 Smart開發者, 享受 開發從未如此簡單 的快樂。

Tags: