成人字幕网视频在线观看|久热最新精品品在线|高跟丝袜麻麻求我调教|色先锋av影音先锋在线|调教强迫+粗暴强j+高h文

Zadig 絲滑接入 GitLab,Webhook 一觸即發

編者按:本文來自微信公眾號“KodeRover”(ID:KodeRover),作者:Zadig,36氪經授權發布。

GitLab 是一個用于倉庫管理系統的開源項目,因為其能被私有化部署,同時有較好的集成性,被企業廣泛作為代碼托管平臺使用。 Zadig 針對 GitLab 極為友好,結合 GitLab Webhook 的能力,提交 Merge Request 后,就可以自動觸發 Zadig 工作流的執行,完成服務的構建、部署、測試等持續交付過程,在提交代碼后的第一時間可獲得 Zadig 工作流的執行結果。 基于 GitLab + Zadig 介紹一個包含前后端微服務架構 Demo 項目、是如何實現全流程自動化、持續交付的。

下面以 Microservice-demo 項目為例,該項目包含 Vue.js 前端服務和 Golang 后端服務,以下步驟包含從 Code 到 Ship 的整個過程的演示。

準備工作

項目案例源碼:Zadig該代碼倉庫主要包含服務的 YAML 文件和 構建服務所需的 Dockerfile 文件

建議把源碼放到自己的 GitLab 代碼倉庫后再進行下面的操作。

步驟 0:接入 GitLab 代碼源

新建 GitLab OAuth 應用程序

GitLab 管理者可以通過 `Admin Area` > `Applications` 來新建應用程序。

配置 GitLab OAuth 應用程序

在新建應用程序頁面,需要進行以下操作

- 填寫應用的名稱

- 回調地址 http://[zadig.yours.com]/api/directory/codehosts/callback 填寫: [zadig.yours.com]需要替換為 zadig 系統部署的實際地址

- 賦予權限: api、read_user、read_repository

點擊創建

獲取 Application ID、Secret 信息

應用創建成功后,GitLab 會返回應用的相關信息,其中包括 `Application ID` 、`Secret` 信息。

將 Application ID、Secret 集成到系統

切換到 zadig 系統,管理員依次點擊 `系統設置` -> `集成管理` -> `代碼源集成` -> 點擊添加按鈕。

依次填入如下已知信息:

- `代碼源`:此處選擇 GitLab

- `GitLab 服務 URL`:GitLab 地址

- `Application ID`:應用創建成功后返回的 Application ID

- `Secret`:應用創建成功后返回的 Secret

信息確認無誤后點擊 `前往授權`,耐心等待,此時會系統會跳轉到 GitLab 進行授權。

點擊授權按鈕,同意授權后,GitLab 會跳轉到 Zadig 系統,至此 GitLab 集成完畢。

步驟 1:產品交付-項目配置

進入 Zadig 系統

新建項目,項目名為`microservice-demo`

步驟 2:創建服務與服務構建

zadig 提供兩種方式管理這些模板:

系統平臺管理:在 zadig 中直接輸入 YAML 。

代碼倉導入與同步:從某個 Git 倉中導入,之后提交到代碼倉的 YAML 變更會自動同步到 zadig 系統上。服務 YAML 自動同步到 zadig 系統上的功能會在配置Webhook后生效

這里,我們使用代碼倉導入的方式。文件目錄中準備好了這些 YAML 。現在要做的就是把 backend 和 frontend K8s YAML 依次導入。

加載服務配置:點擊`倉庫托管` 按鈕 -> 選擇倉庫信息 -> 選擇文件目錄。導入成功后,設置自定義變量 `demo_domain` 值,引用系統內置變量`$EnvName`,來區分不同的環境域名。

?

配置后端服務構建:選擇`backend`服務 -> 點擊`添加構建` -> 填寫構建腳本。

?

構建配置說明:

- 應用列表選擇 `go 1.16.4`?

代碼信息,選擇 `microservice-demo` 所在的代碼倉庫

構建腳本如下:

cd microservice-demo/backend

make build-backend

docker build -t $IMAGE -f Dockerfile .

docker push $IMAGE

- 保存構建配置

配置前端服務構建:選擇`frontend`服務 -> 點擊`添加構建` -> 填寫構建腳本。?

- 構建配置說明:

代碼信息,選擇 `microservice-demo` 所在的代碼倉庫

構建腳本如下:

cd microservice-demo/frontend

docker build -t $IMAGE -f Dockerfile .

docker push $IMAGE

保存構建配置

步驟 3:加入運行環境

- 點擊向導的“下一步”。這時,zadig 會根據你的配置,創建兩套環境(dev,qa),以及相關工作流。

- 點擊下一步完成向導。根據配置,已經產生兩套集成環境和三條自動化工作流。

步驟 4:產品交付-工作流交付

點擊“運行”,可以運行工作流。

選擇需要更新的服務 `backend` 和 `frontend`,點擊“啟動任務”運行工作流。

查看工作流運行狀況:

進入集成環境,查看服務列表,并點擊服務 URL,可以查看網站。

步驟 5:配置自動觸發工作流

前提條件:配置 GitLab 的 Webhook,Webhook 配置請參考 Zadig 文檔站 [GitLab Webhook]

添加觸發器,使得代碼 push 或者 Pull Request 都觸發 `backend` 和 `frontend` 重新構建和部署:

進入工作流配置頁面

添加 Webhook 觸發器

配置 Webhook 觸發器

backend 服務觸發器配置

如上圖所示,當 backend 文件夾中的代碼變動時會觸發 `backend` 服務的更新

frontend 服務觸發器配置

如上圖所示,當 frontend 文件夾中的代碼變動時會觸發 `frontend` 服務的更新

保存工作流

步驟 6:改動代碼,觸發工作流

改動前端代碼:

查看工作流運行情況

查看網站運行結果:

通過以上步驟,我們已經完成了 GitLab + Zadig 的項目配置,可以看到通過集成 GitLab 完成對多個微服務的構建、部署、測試等持續交付過程,通過 Zadig 讓軟件交付變得更絲滑。?

更多最佳實踐:

36氪平臺

Copyright 2021 快鯨

掃碼免費用

源碼支持二開

申請免費使用

在線咨詢