基於 Rainbond 的 Pipeline(流水線)插件

rainbond開源 發佈 2024-04-09T15:28:56.701863+00:00

背景Rainbond 本身具有基於源碼構建組件的能力,可以將多種程式語言的代碼編譯成 Docker 鏡像,但是在持續集成的過程中,往往會需要對提交的代碼進行靜態檢查、構建打包以及單元測試。

背景

Rainbond 本身具有基於源碼構建組件的能力,可以將多種程式語言的代碼編譯成 Docker 鏡像,但是在持續集成的過程中,往往會需要對提交的代碼進行靜態檢查、構建打包以及單元測試。之前由於 Rainbond 並沒有 Pipeline 這種可編排的機制,所以用戶往往只能通過集成外部的 CI ,如 Jenkins、Gitlab CI 等。這給開發者的使用增加了門檻。

所以為了更有效的幫助開發人員做代碼測試,編譯緩存,甚至代碼質量分析等,結合 Rainbond 的插件體系,拓維信息基於 GitLab CI 能力實現了更加靈活,更加多樣化的源碼構建的功能。

流水線插件

功能

基於 Rainbond 的插件體系,拓維信息貢獻的流水線插件主要功能包括以下五部分:

  1. 流水線管理: 開發者使用流水線模塊自定義應用服務所需要的流水線,以及流水線的各個階段
  1. 應用服務: 應用服務就是 Gitlab 上某一個項目的代碼倉庫,應用於開發, 管理代碼倉庫。通常對應Rainbond 中的組件,如果一個倉庫下包含多個微服務,則可能對應多個 Rainbond 組件
  1. 代碼管理: 管理代碼倉庫中各分支與 CI 的持續集成流程,可以查看到對應代碼倉庫分支的最近提交和持續集成的歷史信息。
  1. 鏡像倉庫: 持續集成生成的 image 製品和版本均會在此展示,可以在這裡將生成的鏡像手動部署到指定環境。
  1. 部署歷史: 鏡像倉庫版本部署到 Rainbond 應用下的歷史記錄,可以從部署詳情中跳轉到對應組件進行管理。

安裝

流水線插件已經發布到應用市場,可通過開源應用商店一鍵安裝。目前該插件使用需要滿足以下前提條件:

  • Rainbond v5.12.0 版本
  • 有可用的 Gitlab 和 Gitlab Runner

Gitlab 和 Gitlab runner 也可通過開源應用商店一鍵安裝。安裝流程如下:

  1. 平台管理-應用市場-開源應用商店 中搜索 GitlabGitlab runner 一鍵安裝並進行配置;
  2. 平台管理-應用市場-開源應用商店 中搜索 Pipeline 一鍵安裝;

具體配置和使用參考:Pipeline 使用文檔

使用

在插件全部運行起來以後,回到團隊視圖進行刷新,可以看到左側邊欄有 Rainbond 流水線 選項,點擊即可進入。流水線插件主要使用流程如下圖所示,主要分為四步:創建流水線模版->創建應用服務->構建->部署到平台

創建流水線模版

用戶可以在模版中定義流水線的各個階段,默認提供了NodeJS、Java、Go、Python的流水線模版,可以在內部自定義流水線的各個階段。

創建應用服務

在有了流水線模版之後,我們需要去創建一個應用服務。應用服務實際上是將代碼倉庫和流水線模版關聯起來,最終實現該代碼倉庫的代碼通過該流水線模版進行構建。

構建代碼

代碼管理->分支管理中手動觸發流水線構建,構建過程可以在代碼管理->持續集成中查看。構建完成後,鏡像會推送到流水線模版中定義的鏡像倉庫地址。可以在鏡像倉庫查看鏡像製品。

部署業務

完成第一次構建後,可以在鏡像倉庫查看到鏡像信息,此時選擇部署,可以選擇該團隊下的應用,組件的名稱將以應用服務的名稱進行定義。部署完成後,可以在部署歷史中查看到該次部署詳情,點擊查看詳情即可跳轉到對應組件進行管理,後續提交代碼即可實現自動構建和部署。

關鍵字: