Arbess 是一款國產開源免費的 CI/CD 工具,工具輕量、簡潔。本文將詳細介紹如何安裝Arbess、GitLab,並創建配置流水線實現多主機同時部署。

1、Gitlab 安裝與配置

本章節將介紹如何使用CentOS9搭建Gitlab服務器,並將代碼存放在Gitlab服務器,提供給Arbess克隆源碼。

1.1 安裝

  • 安裝基礎依賴。

sudo yum update -y

sudo yum install -y curl policycoreutils-python-utils openssh-server perl

sudo systemctl enable --now sshd

  • 獲取Gitlab安裝包。

curl -LO https://packages.gitlab.cn/repository/el/8/gitlab-jh-17.7.0-jh.0.el8.x86_64.rpm

  • 安裝Gitlab安裝包。訪問URL可以自己設置。

export EXTERNAL_URL="http://ip" && sudo rpm -ivh gitlab-jh-x.x.x.rpm

  • 安裝完成之後,使用sudo gitlab-ctl status檢查服務狀態。
  • 瀏覽器訪問配置的http://ip,使用用户名root,密碼 /etc/gitlab/initial_root_password 中獲取,進行登錄。

1.2 配置

gitlab安裝完成之後,可以將代碼推送到倉庫中,Arbess克隆源碼需要創建GItlab的個人令牌,用於Arbess訪問Gitlab。進入用户設置→訪問令牌,按照需求創建創建訪問令牌。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_#gitlab

創建個人令牌

令牌創建完畢,請妥善保存好您的令牌。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_#gitlab_02

個人令牌

2、Arbess 安裝與配置

2.1 安裝

本文以CentOS操作系統為例。

  • 下載,CentOS安裝包下載地址:Arbess下載,點擊CentOS下載,下載完成後得到類似tiklab-arbess-x.x.x.rpm的文件。
  • 安裝,上傳到服務器上,在文件同級目錄執行命令安裝。

rpm -ivh tiklab-arbess-x.x.x.rpm

  • 啓動,系統默認安裝路徑為/opt目錄,進入/opt/tiklab-arbess/bin目錄下,執行./arbess start即可啓動成功。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_服務器_03

啓動Arbess

使用 http://ip:9200 進行訪問。使用初始用户名密碼admin\123456登錄,首次登錄需要修改管理員密碼。成功登錄後展示Arbess首頁。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_服務器_04

Arbess首頁

2.2 配置

Arbess流水線採用可視化設計,實現Java項目自動化部署,在流水線中可克隆Gitlab倉庫代碼,構建並進行多主機部署。創建流水線,進入流水線設計頁面進行操作。

2.2.1 配置GitLab任務

  • 配置GitLab服務集成

流水線配置GitLab源碼任務之前,需要添加GitLab服務集成,在系統設置→集成與開放→服務集成頁面添加相關服務。授權類型選擇Gitlab、填寫名稱、AccessTocken(個人密鑰,即文章1.2部分創建的個人訪問令牌)。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_#java_05

添加源碼集成

如需要添加自建的Gitlab,授權類型選擇自建Gitlab、填寫名稱、服務地址、AccessTocken(個人密鑰)。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_服務器_06

添加源碼集成

  • 添加GitLab源碼任務

服務集成添加完畢之後,進入流水線設計,點擊新階段→源碼→GitLab。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_#gitlab_07

添加GitLab源碼

字段

描述

任務名稱

任務名稱清晰地標識項目或對象。

Git版本

Arbess所在服務器Git安裝路徑。

GitLab授權信息

私人令牌,AccessTocken。

倉庫

選擇授權信息後點擊倉庫,程序會自動獲取憑證權限下的倉庫列表,管理者只需選擇需要配置的倉庫即可。

分支

選擇代碼的分支。填寫需要拉取遠程倉庫具體的分支,不填默認為master分支,填寫錯誤會導致任務執行失敗。

2.2.2 配置Maven構建任務

源碼配置完畢後,配置構建任務,Arbess支持多種構建方式,例如添加Maven構建,點擊新階段→構建→Maven構建。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_#CICD_08

配置Maven構建任務

字段

描述

任務名稱

任務名稱清晰地標識項目或對象。

JDK版本

Arbess所在服務器JDK安裝路徑。

Maven版本

Arbess所在服務器Maven安裝路徑。

模塊地址

構建路徑,默認為${DEFAULT_CODE_ADDRESS},也可輸入絕對路徑。

執行命令

執行Maven構建的命令。

2.2.3 配置主機部署任務

  • 配置主機組

進入系統設置→資源配置→主機組,維護主機組。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_#java_09

維護主機組

添加的主機組中包含維護的主機。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_服務器_10

添加主機組

  • 配置部署任務

配置主機組後,添加部署任務。點擊新階段→部署→主機部署,輸入部署信息,主機地址選擇新添加的主機組。部署的內容可以使用變量,添加變量後使用${變量名稱}進行引用,輸入完成後,點擊空白處進行保存。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_服務器_11

配置主機部署任務

字段

描述

任務名稱

任務名稱清晰地標識項目或對象。默認主機部署。

主機地址

部署主機遠程SSH認證憑證。

部署文件

需要部署的文件,可以寫絕對路徑,也可以寫泛路徑,泛路徑需要配合部署文件規則來匹配到部署文件。

部署文件匹配規則

文件匹配規則,支持正則表達式。

部署位置

部署遠程主機位置。

部署命令

文件部署命令。

3、運行流水線

  • 運行流水線

多台主機部署完成後,點擊右上角運行,驗證流水線運行情況。


Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_服務器_12

運行流水線

點擊任務日誌,可查看任務實時日誌,點擊對應任務,可查看任務相關日誌。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_#CICD_13

查看詳細日誌

  • 查看運行歷史

可以在Arbess歷史頁面查看到流水線運行歷史。點擊運行歷史序號,即可查看詳細的運行日誌。

Arbess從基礎到實踐(15) - 集成GitLab實現Java項目自動化構建並多主機部署_#gitlab_14

運行歷史

至此,用户可通過流水線克隆GitLab源碼,構建安裝包,進行多主機部署。