Arbess 是一款開源免費的 CI/CD 工具,支持免費私有化部署,一鍵安裝零配置,簡明易用。本文將詳細介紹如何安裝Arbess、GitLab,創建流水線實現 .Net Core 項目自動化部署。

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從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#.netcore

創建個人令牌

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

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#Arbess_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從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#gitlab_03

啓動Arbess

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

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#CICD_04

Arbess首頁

2.2 配置

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

2.2.1 配置GitLab任務

  • 配置GitLab服務集成

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

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#Arbess_05

添加源碼集成

  • 添加GitLab源碼任務

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

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#自動化_06

添加GitLab源碼

字段

描述

任務名稱

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

Git版本

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

GitLab授權信息

私人令牌,AccessTocken。

倉庫

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

分支

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

2.2.2 配置.Net Core構建任務

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

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#自動化_07

配置.Net Core構建任務

字段

描述

任務名稱

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

項目地址

代碼存放路徑,默認為${DEFAULT_CODE_ADDRESS},即源碼拉取存放路徑,也可輸入絕對路徑。

執行命令

執行.Net Core構建的命令。

2.2.3 配置主機部署任務

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

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#Arbess_08

配置主機部署任務

字段

描述

任務名稱

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

部署方式

可選擇結構化部署或者自定義命令部署。

主機地址

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

部署文件

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

部署文件匹配規則

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

部署位置

部署遠程主機位置。

部署命令

文件部署命令。

3、運行流水線

  • 運行流水線

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


Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#CICD_09

運行流水線

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

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#gitlab_10

查看運行日誌

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#.netcore_11

查看詳細日誌

  • 查看運行歷史

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

Arbess從基礎到實踐(11) - 集成GitLab實現.Net 項目自動化部署_#CICD_12

運行歷史

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