Arbess 是一款國產開源免費的 CI/CD 工具,工具支持一鍵部署,頁面簡潔易用。本文將詳細介紹如何安裝配置使用GitPuk、sourcefare、Arbess系統,使用流水線拉取GitPuk源碼、使用sourcefare代碼掃描、構建安裝包并進行主機部署。
1、GitPuk 安裝與配置
GitPuk是TikLab DevOps下一款開源免費代碼管理工具,本章節將介紹如何使用CentOS搭建GitPuk服務器,并將代碼存放在GitPuk服務器,提供給Arbess克隆。
1.1 安裝
本文以CentOS操作系統為例。
- 下載,CentOS安裝包下載地址:GitPuk下載,點擊CentOS下載,下載完成后得到類似tiklab-gitpuk-x.x.x.rpm的文件。
- 安裝,上傳到服務器上,在文件同級目錄執行npm命令安裝。
rpm -ivh --replacefiles --nodeps tiklab-gitpuk-x.x.x.rpm
- 啟動,系統默認安裝路徑為/opt目錄,進入/opt/tiklab-gitpuk/bin目錄下,執行sh startup.sh即可啟動成功。
啟動GitPuk系統
使用 http://ip:9800 進行訪問。使用初始用戶名密碼admin\123456登錄,首次登錄需要修改管理員密碼。成功登錄后展示GitPuk首頁。
GitPuk首頁
1.2 配置
GitPuk登錄成功,需要添加代碼倉庫,GitPuk支持新建倉庫上傳代碼和從其他軟件導入倉庫兩種方式。
- 新建倉庫
在倉庫頁面點擊右上角“新建倉庫”。
創建倉庫
新建的倉庫可通過HTTP和SSH方式按步驟上傳代碼。
上傳代碼
- 導入倉庫
GitPuk也支持從外部倉庫導入。
導入倉庫
以私有Gitlab為例,導入需要提供私有Gitlab地址,以及訪問密鑰。添加外部倉庫信息完成后,選擇Gitlab的倉庫,進行導入。
導入倉庫
2、sourcefare 安裝與配置
sourefare是TikLab DevOps下一款開源免費代碼掃描工具,本章節將介紹如何使用CentOS搭建sourcefare服務,提供給Arbess調用進行代碼掃描。
2.1 安裝
本文以CentOS操作系統為例。
- 下載,服務端安裝包含Agent安裝,CentOS安裝包下載地址:Sourcefare下載,點擊CentOS下載,下載安裝包如tiklab-sourcefare-x.x.x.rpm。
- 安裝,上傳到服務器上,在文件同級目錄執行npm命令安裝。
rpm -ivh --replacefiles --nodeps tiklab-gitpuk-x.x.x.rpm
- 啟動,系統默認安裝路徑為/opt目錄,進入/opt/tiklab-sourcefare/bin目錄下,執行sh startup.sh即可啟動成功。
啟動SourceFare系統
使用 http://ip:9900 進行訪問。使用初始用戶名密碼admin\123456登錄,首次登錄需要修改管理員密碼。成功登錄后展示sourcefare首頁。
sourcefare首頁
2.2 配置
SourceFare登錄成功,需要添加項目,以及代碼掃描計劃,Arbess運行代碼掃描需要代碼掃描計劃ID,代碼掃描報告會歸類到相應代碼掃描計劃。
在項目頁面點擊新建項目按鈕進行新建。輸入項目名稱以及項目訪問信息(公開、私密)進行創建。
新建項目
成功創建掃描計劃后,在掃描計劃頁面,需要記住ProjectKey,后期Arbess集成SourceFare需要用到,也可查看Arbess調用的歷史掃描計劃報告。
創建掃描計劃
3、Arbess 安裝與配置
3.1 安裝
本文以CentOS操作系統為例。
- 下載,服務端安裝包含Agent安裝,CentOS安裝包下載地址:Arbess下載,點擊CentOS下載,下載完成后得到類似tiklab-arbess-x.x.x.rpm的文件。
- 安裝,上傳到服務器上,在文件同級目錄執行npm命令安裝。
rpm -ivh --replacefiles --nodeps tiklab-arbess-x.x.x.rpm
- 啟動,系統默認安裝路徑為/opt目錄,進入/opt/tiklab-arbess/bin目錄下,執行sh startup.sh即可啟動成功。
啟動Arbess系統
使用 http://ip:9200 進行訪問。使用初始用戶名密碼admin\123456登錄,首次登錄需要修改管理員密碼。成功登錄后展示Arbess首頁。
Arbess首頁
3.2 配置
Arbess流水線采用可視化設計,實現Java項目自動化部署,在流水線中可克隆GitPuk倉庫代碼、集成SourceFare進行代碼掃描。創建流水線,進入流水線設計頁面進行操作。
3.2.1 配置GitPuk源碼
- 配置GitPuk服務集成
流水線配置GitPuk源碼任務之前,需要添加GitPuk服務集成,在在系統設置→集成與開放→服務集成頁面添加相關服務。授權類型選擇GitPuk、填寫名稱、服務地址(即文章1部分安裝的GitPuk地址)、用戶名、密碼。
添加源碼集成
- 添加GitPuk源碼任務
服務集成添加完畢之后,進入流水線設計,點擊新階段→源碼→自建GitPuk。
添加GitPuk源碼任務
字段 | 描述 |
任務名稱 | 任務名稱清晰地標識項目或對象。 |
Git版本 | Arbess所在服務器Git安裝路徑。 |
自建GitPuk服務 | 自建GitPuk服務地址。 |
倉庫 | 選擇授權信息后點擊倉庫,程序會自動獲取憑證權限下的倉庫列表,管理者只需選擇需要配置的倉庫即可。 |
分支 | 選擇代碼的分支。填寫需要拉取遠程倉庫具體的分支,不填默認為master分支,填寫錯誤會導致任務執行失敗。 |
3.2.2 配置sourcefare代碼掃描
- 配置sourcefare服務集成
流水線配置sourcefare任務之前,需要添加sourcefare服務集成,在系統設置→集成與開放→服務集成頁面添加相關服務。授權類型選擇sourcefare、填寫名稱、服務地址、認證類型(用戶名密碼、密鑰)、用戶名、密碼。
添加sourcefare服務
- 配置sourcefare Scanner工具集成
還需要配置sourcefare Scanner工具,進入下載地址:SourceFareAgent下載。下載對應系統文件。在系統設置→集成與開放→工具集成頁面添加相關服務。授權類型選擇Sonar Scanner、填寫名稱、安裝方式選擇安裝包,上傳sourcefare Scanner工具安裝包。
添加sourcefare Scanner工具
上傳sourcefare Scanner工具安裝包,系統會自動解析運行文件地址。
添加sourcefare Scanner工具
- 添加sourcefare代碼掃描任務
工具集成完畢之后,點擊新階段→代碼掃描→sourcefare代碼掃描。添加成功之后,彈出代碼掃描的配置。
配置sourcefare代碼掃描任務
字段 | 描述 |
任務名稱 | 任務名稱清晰地標識項目或對象。 |
掃描代碼語言 | 掃描代碼語言。 |
JDK版本 | 所在服務器JDK安裝路徑。 |
Maven版本 | 所在服務器Maven安裝路徑。 |
sourcefare服務 | 安裝sourcefare的服務器地址、用戶名、密碼。 |
sourcefare Scanner版本 | 安裝sourcefare Scanner的安裝路徑。 |
項目ID | 掃描的項目ID,在sourcefare中創建的項目ID。 |
掃描代碼地址 | 掃描代碼存放路徑,默認為${DEFAULT_CODE_ADDRESS},也可輸入絕對路徑。 |
3.2.3 配置Node.js構建任務
代碼掃描添加完畢之后,添加構建安裝包任務。根據代碼構建方式選擇Node構建,點擊新階段→構建→Node構建。輸入構建信息,輸入完成后,點擊空白處進行保存。
配置Node.js構建任務
字段 | 描述 |
任務名稱 | 任務名稱清晰地標識項目或對象。 |
Node版本 | Arbess所在服務器Node安裝路徑。 |
模塊地址 | 構建路徑,默認為${DEFAULT_CODE_ADDRESS},也可輸入絕對路徑。 |
執行命令 | 執行Node構建的命令。 |
3.2.4 配置主機部署任務
點擊新階段→部署→主機部署。輸入部署信息,部署的內容可以使用變量,添加變量后使用${變量名稱}進行引用,輸入完成后,點擊空白處進行保存。
配置主機部署任務
字段 | 描述 |
任務名稱 | 任務名稱清晰地標識項目或對象。默認主機部署。 |
主機地址 | 部署主機遠程SSH認證憑證。 |
部署文件 | 需要部署的文件,可以寫絕對路徑,也可以寫泛路徑,泛路徑需要配合部署文件規則來匹配到部署文件。 |
部署文件匹配規則 | 文件匹配規則,支持正則表達式。 |
部署位置 | 部署遠程主機位置。 |
部署命令 | 文件部署命令。 |
至此流水線設計完畢,下面介紹流水線運行以及查看代碼掃描報告。
4、運行流水線
- 運行流水線
流水線設計完畢之后,Arbess支持自動觸發、Webhook觸發、手動觸發三種運行模式。點擊右上角“運行”按鈕,手動觸發流水線。
運行流水線
流水線運行同時,點擊認為標簽右下角“日志”,可查看運行實時日志。
查看日志
- 查看代碼掃描報告
點擊測試報告→代碼掃描→sourcefare,查看sourcefare代碼掃描報告。
查看sourcefare測試報告
點擊sourcefare代碼掃描報告名稱,進入跳轉到sourcefare查看詳細報告。
查看sourcefare詳細報告
問題TAB顯示詳細問題列表,點擊問題列表的問題名稱,還可以查看代碼詳細問題。
查看sourcefare詳細問題
sourcefare還可以查看代碼重復率、復雜度、覆蓋率等信息。
查看sourcefare代碼重復率
- 查看運行歷史
可以在Arbess歷史頁面查看到流水線運行歷史。點擊運行歷史序號,即可查看詳細的運行日志。
運行歷史
至此,使用Arbess成功搭建流水線,用來拉取GitPuk源碼、使用sourcefare代碼掃描,構建安裝包并主機部署。