建木 是一個面向 DevOps 領域的極易擴充套件的開源無程式碼(圖形化)/低程式碼(GitOps)工具,可以幫助使用者輕鬆編排各種DevOps流程並分發到不同平臺執行。
建木的圖形化編排提供了多個節點,節點可以定義該步驟要執行的操作,使用者可透過多個節點自由組合流水線。Rainbond 社群參與了建木節點的開發並貢獻了 Rainbond元件建立與持續部署 節點。使用者可使用該節點在 Rainbond 中自動建立元件和持續部署元件。
建木應用的部署則可以透過 Rainbond 開源應用商店一鍵安裝,使建木應用的部署更簡單,同時也可以作為應用外掛擴充套件 Rainbond 構建體系。
下圖是最終要實現的效果,也是建木的圖形化流水線配置,本文將以下圖的流程為例進行介紹:
- 克隆專案原始碼
- 使用 Maven 構建專案
- 構建 Docker 映象
- 在 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。