SmartIDE v0.1.17 已經發布

2022-05-27 06:00:31

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

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

  • 外掛市場:針對開源專案Eclipse OpenVSX進行了中文漢化和中國本地部署,使用者可以通過 https://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 外掛市場地址 https://marketplace.smartide.cn/

SmartIDE插件市場

product.js 檔案設定如下,具體請見 SmartIDE 外掛市場檔案

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

"linkProtectionTrustedDomains": [
    "https://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開發者, 享受 開發從未如此簡單 的快樂。