Studio
ABP 最近整了一個圖形化介面工具箱,叫做 Studio,可以用來快速建立專案、模組、頁面、服務等等。
需求
Rider/ Visual Studio 2022 (v17.3+) for Windows / Visual Studio for Mac. 1
Node v16 or v18
Yarn v1.20+ (not v2) 2 or npm v6+ (already installed with Node)
Docker
以上需求沒有達成則會導致建立專案缺東西,比如無法用 Yarn 安裝 js lib,無法建立 Redis 服務...等等
Redis
用 Studio 建立專案會自動使用 Docker 執行 Redis 並建立 network,所以不用自己跑 docker run redis 相關指令來起 Redis 服務
前提是有先把 Docker Engine 跑起來,以 Windows 來說就是開機要先打開 Docker Desktop
如果自己建立 redis container,會導致 Studio 的 docker 相依性作業失敗 (無法建立同名容器 Redis
)
這可能是為了使用 K8S,所以 Studio 會用一個 ps1 腳本來自動建立 Redis 容器與網路
如果沒有用 Business 版本以上,自己 docker run redis 也是可以的 (記得 -p 6379:6379 開放訪問 Redis Server)
或是把 redis container 與 network 刪除,再用 Studio 執行方案內的 docker-dependencies 項目
network
在您的 docker-compose.infrastructure.yml 文件中,abpsolution6 網路被設置為 external: true, 這表示這個網路是外部創建的,而不是由該 Docker Compose 文件自動管理。
因此,當您執行 docker-compose -f docker-compose.infrastructure.yml down 時,Docker Compose 不會移除這個網路, 因為它認為這個網路是由外部系統或手動創建並管理的,而不是屬於這個 Docker Compose 場景的一部分。
手動移除網路: 您可以在執行 docker-compose down 後手動移除該網路,命令如下:
Rider
Rider 可以加入 PowerShell 腳本,用來執行 docker-compose.infrastructure.yml
Node.js
ABP Studio 需要 Node.js 版本為 v16 或 v18
單一版本:僅需一個版本可以直接從 Node.js 官方 下載安裝
多版本切換:有其他專案會用到不同版本可以使用 NVM,可以參考此篇筆記 Vue
WireGuard (選擇性)
WireGuard 是一個快速、現代、安全的 VPN 協議,可以用來連接到公司內部網路,或是在公共網路上保護隱私。
ABP Studio 需要 WireGuard 來執行 Kubernetes 作業
Docker (選擇性)
ABP Studio 需要 Docker 來執行 Kubernetes 作業。
安裝
從 ABP 官方網站下載 ABP Studio
登入
安裝 ABP Studio 後,您可登錄以訪問所有功能。要登錄,請遵循以下步驟:
Launch ABP Studio: Open ABP Studio on your desktop.
Login Credentials: 當提示時輸入您的 abp.io 登錄憑證。
更改 UI 主題
ABP Studio 允許您根據您的偏好自訂使用者介面主題。您可更改 UI 主題,如下圖所示:
升級
ABP Studio 在背景中定期檢查更新,當ABP Studio的新版本可用時,將通過模態通知您。 該模態將提示您更新至最新版本,如下所示:
當您看到 "New Version Available "視窗時,請按照以下步驟無縫升級 ABP Studio:
單擊模態視窗中的 "OK "按鈕啟動新版本下載。
進度指示器將顯示下載狀態。
下載完成後,會出現新的模組,並顯示「安裝和重新啟動」按鈕。
按一下「安裝並重新啟動」按鈕以完成安裝程序。
Docker Dependencies
啟動時會建立 Redis,停止時會移除 Redis
結果
工具箱:用來建立與執行方案
Docker-Dependencies:用來建立 Redis 服務
Auth Server:用來建立身分驗證服務
Swagger:用來建立 API 文件
Blazor WebApp:提供管理介面,例如使用者、角色、權限、OpenId(OAuth)、設定(類似 appsettings.json)、多語言、審計(登入紀錄)...等等