基於 Rainbond 的 Pipeline(流水線)外掛

語言: CN / TW / HK

背景

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的流水線模版,可以在內部自定義流水線的各個階段。

建立應用服務

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

構建程式碼

程式碼管理->分支管理中手動觸發流水線構建,構建過程可以在程式碼管理->持續整合中檢視。構建完成後,映象會推送到流水線模版中定義的映象倉庫地址。可以在映象倉庫檢視映象製品。

部署業務

完成第一次構建後,可以在映象倉庫檢視到映象資訊,此時選擇部署,可以選擇該團隊下的應用,元件的名稱將以應用服務的名稱進行定義。部署完成後,可以在部署歷史中檢視到該次部署詳情,點選檢視詳情即可跳轉到對應元件進行管理,後續提交程式碼即可實現自動構建和部署。