Arbess 是一款國產開源免費的 CI/CD 工具,工具支持一鍵安裝零配置,頁面設計簡潔易用。本文將詳細介紹如何安裝Arbess、GitLab,並創建配置流水線實現 React.Js 方案構建並主機部署。

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 CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_字段

創建個人令牌

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

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_字段_02

個人令牌

2、Arbess 安裝與配置

2.1 安裝

本文以CentOS操作系統為例。

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

rpm -ivh --replacefiles --nodeps tiklab-arbess-x.x.x.rpm

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

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_git_03

啓動Arbess

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

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_git_04

Arbess首頁

2.2 配備

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

2.2.1 配置GitLab任務

  • 配置GitLab服務集成

流水線配置GitLab源碼任務之前,需添加GitLab服務集成,在系統設置→集成與開放→服務集成頁面添加相關服務。添加自建的Gitlab,授權類型選擇自建Gitlab、填寫名稱、服務地址、AccessTocken(個人密鑰)。

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_字段_05

添加源碼集成

  • 添加GitLab源碼任務

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

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_字段_06

添加GitLab源碼

字段

描述

任務名稱

任務名稱清晰地標識計劃或對象。

Git版本

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

GitLab授權信息

私人令牌,AccessTocken。

倉庫

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

分支

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

2.2.2 配置Node.Js構建任務

源碼配置完畢後,配置構建任務,Arbess幫助多種構建方式,例如添加Node.Js構建,點擊新階段→構建→Node.Js構建。

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_服務器_07

配置Node.Js構建任務

字段

描述

任務名稱

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

Node版本

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

模塊地址

構建路徑,默認為${DEFAULT_CODE_ADDRESS},即克隆代碼保存路徑,也可輸入絕對路徑。

執行命令

執行Node.Js構建的命令。

2.2.3 配置主機部署任務

點擊新階段→部署→主機部署,輸入部署信息,輸入完成後,點擊空白處進行保存。

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_字段_08

配置主機部署任務

字段

描述

任務名稱

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

主機地址

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

部署文件

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

部署資料匹配規則

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

部署位置

部署遠程主機位置。

部署命令

文件部署命令。

3、運行流水線

  • 運行流水線

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


Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_git_09

運行流水線

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

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_git_10

查看運行日誌

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_服務器_11

查看詳細日誌

  • 查看運行歷史

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

Arbess CICD實戰(12) - 應用Arbess+GitLab實現React.js項目自動化部署_git_12

運行歷史

至此,用户可通過Arbess流水線克隆GitLab倉庫react.js源碼,構建並進行主機部署。