建木在 Rainbond 上使用實踐

rainbond開源 發佈 2024-01-29T15:36:49.922718+00:00

建木 是一個面向 DevOps 領域的極易擴展的開源無代碼(圖形化)/低代碼(GitOps)工具,可以幫助用戶輕鬆編排各種DevOps流程並分發到不同平台執行。建木的圖形化編排提供了多個節點,節點可以定義該步驟要執行的操作,用戶可通過多個節點自由組合流水線。

建木 是一個面向 DevOps 領域的極易擴展的開源無代碼(圖形化)/低代碼(GitOps)工具,可以幫助用戶輕鬆編排各種DevOps流程並分發到不同平台執行。

建木的圖形化編排提供了多個節點,節點可以定義該步驟要執行的操作,用戶可通過多個節點自由組合流水線。Rainbond 社區參與了建木節點的開發並貢獻了 Rainbond組件創建與持續部署 節點。用戶可使用該節點在 Rainbond 中自動創建組件和持續部署組件。

建木應用的部署則可以通過 Rainbond 開源應用商店一鍵安裝,使建木應用的部署更簡單,同時也可以作為應用插件擴展 Rainbond 構建體系。

下圖是最終要實現的效果,也是建木的圖形化流水線配置,本文將以下圖的流程為例進行介紹:

  1. 克隆項目原始碼
  2. 使用 Maven 構建項目
  3. 構建 Docker 鏡像
  4. 在 Rainbond 上自動創建組件並部署

部署 Rainbond 與建木

Rainbond 部署

Rainbond 是一個雲原生應用管理平台,使用簡單,不需要懂容器、Kubernetes和底層複雜技術,支持管理多個Kubernetes集群,和管理企業應用全生命周期。

可參閱 基於主機安裝Rainbond 文檔進行安裝。

建木部署

通過 Rainbond 開源應用商店一鍵安裝建木應用,在 平台管理 -> 應用市場 -> 開源應用商店 中搜索 建木,進行安裝。

安裝完成後,建木應用拓撲圖如下,可通過 Rainbond 默認提供的域名訪問建木 UI,默認用戶密碼 admin/123456

同時也可以在 平台管理 -> 擴展 -> 插件 中看到建木應用插件的定義。

建木使用

將通過一個 Java SpringBoot Demo 項目進行演示,項目地址:https://gitee.com/zhangbigqi/java-maven-demo

配置圖形化流水線

訪問建木UI,進入圖形項目。

1.添加 git clone 節點並配置 git 地址。

2.添加 maven構建 節點並配置 workspace,其他都默認。

3.搜索 rainbond,添加 構建docker鏡像-rainbond 節點,並配置。

  • 配置 docker 用戶和密碼,用於推送鏡像。需要在建木 首頁 -> 密鑰管理 中添加。
  • 配置鏡像名稱。
  • 指定 registry 地址,用於推送鏡像。
  • 配置執行構建命令的目錄,選擇 git clone目錄

4.搜索 rainbond,添加 rainbond組件創建與部署 節點,並配置。

  • Rainbond URL: Rainbond 的訪問地址,例如:http://192.168.1.1:7070
  • Rainbond Token:Rainbond 控制台 -> 個人中心 -> 訪問令牌 中生成 Token。
  • Rainbond 團隊ID: 例如進入到開發團隊下,此時的 URL 為 http://192.168.1.1:7070/#/team/e2h5j3d8/region/rainbond/index,`e2h5j3d8` 就是團隊ID。
  • Rainbond 集群ID: 例如進入到開發團隊下,此時的 URL 為 http://192.168.1.1:7070/#/team/e2h5j3d8/region/rainbond/index,`rainbond` 就是集群ID。
  • Rainbond 應用ID: 例如進入到開發團隊的測試應用下,此時的 URL 為 http://192.168.1.1:7070/#/team/e2h5j3d8/region/rainbond/apps/5,`5` 就是應用ID。
  • 鏡像地址: 選擇上一步的 鏡像名稱:鏡像Tag
  • 組件名稱: 部署在 Rainbond 上的組件名稱,例如:java-test

運行圖形化流水線

保存流水線配置並觸發流水線執行,等待流水線執行完畢。

流水線執行完畢後,進入 Rainbond 的測試應用內,可看到組件成功創建。然後進入組件內添加 5000 埠並打開對外服務進行訪問,驗證服務是否正常。

最後

當然還有更高級的玩法,建木支持定義 Workflow,Workflow 支持節點並行、串行等等,但只能通過代碼項目編輯 DSL 定義 Workflow。

關鍵字: