Gitee.com(碼雲) 是開源中國推出的代碼托管平台,支援 Git 和 SVN,目前已有超過 800 萬的開發者選擇 Gitee,随着 Zadig 社群小夥伴對 Gitee 呼聲越來越高,在剛剛釋出的 Zadig V1.11.0 版本中正式加入了對 Gitee 代碼源的支援,同時結合 Zadig 強大的環境管理能力和 Git Webhook 能力,可以幫助更多工程師高效、愉悅的傳遞。
本文将介紹 Gitee 倉庫管理的項目如何在 Zadig 上快速搭建,下面以 microservice-demo 項目為例,該項目包含 Vue.js 前端服務和 Golang 後端服務,以下步驟包含從 Code 到 Ship 的整個過程的示範。
準備工作
案例源碼
本案例所用代碼及配置 fork 自項目案例源碼:
https://gitee.com/koderover/zadig/tree/main/examples/microservice-demo
主要包含:
服務 YAML 檔案:
- https://gitee.com/koderover/zadig/tree/main/examples/microservice-demo/k8s-yaml
服務源碼及 Dockerfile 檔案
- Frontend:https://gitee.com/koderover/zadig/tree/main/examples/microservice-demo/frontend
- Backend:https://gitee.com/koderover/zadig/tree/main/examples/microservice-demo/backend
接入 Gitee 代碼源
建立 Gitee 第三方應用
- 點選 Gitee 賬号頭像 -> 設定 -> 資料管理 -> 第三方應用 -> 建立應用來建立應用程式。
配置 Gitee 第三方應用
填寫以下内容後點選建立:
- 應用名稱:zadig,也可以填寫可識别的任一名稱。
- 應用首頁:http://[koderover.yours.com]
-
應用回調位址:
http://[koderover.yours.com]/api/directory/codehosts/callback
- 上傳 LOGO:上傳符合格式和大小的圖檔
- 權限勾選: projects、pull_requests、hook、groups
注意:應用回調位址中 koderover.yours.com 需要替換為 Zadig 系統部署的實際位址。
擷取 Client ID、Client Secret 資訊
- 應用建立成功後,可擷取該應用對應的 Client ID 和 Client Secret 資訊。
将配置填入 Zadig 系統
- 切換到 Zadig 系統,管理者依次點選 系統設定 -> 內建管理 -> 代碼源內建 -> 點選添加按鈕。
依次填入如下已知資訊:
- 代碼源:此處選擇 Gitee
- Client ID:上一步中擷取的 Client ID
- Client Secret:上一步中擷取的 Client Secret
- 組織/使用者名稱:推薦填寫 Gitee 賬号的使用者名,友善在 Zadig 系統中辨別 Gitee 代碼源的出處
資訊确認無誤後點選 前往授權,耐心等待,此時系統會跳轉到 Gitee 進行授權。
點選 同意授權 後,跳轉到 Zadig 系統,至此 Gitee 內建完畢。
項目配置
進入 Zadig 系統,點選 建立項目 -> 填寫項目名稱 microservice-demo -> 選擇 K8s YAML 項目 -> 點選 立即建立 -> 點選 下一步。
建立服務并配置建構
建立服務:
服務配置指的是 YAML 對這個服務的定義,Kubernetes 可以根據這個定義産生出服務執行個體。可以了解為 Service as Code。
Zadig 提供三種方式管理服務配置:
- 手工輸入:在建立服務時手動輸入服務的 K8s YAML 配置檔案,内容存儲在 Zadig 系統中。
- 從代碼庫同步:服務的 K8s YAML 配置檔案在代碼庫中,從代碼庫中同步服務配置。之後送出到該代碼庫的 YAML 變更會被自動同步到 Zadig 系統上。
- 使用模闆建立:在 Zadig 平台中建立服務 K8s YAML 模闆,建立服務時,在模闆的基礎上對服務進行重新定義。
這裡,我們使用手工輸入的方式:點選 手工輸入 按鈕 -> 填寫服務名稱 -> 填寫服務 YAML 配置内容 -> 點選 儲存 按鈕即可,
backend 服務的配置内容如下:
frontend 服務的配置内容如下:
配置建構
配置後端服務建構:選擇 backend 服務 -> 點選 添加建構 -> 填寫建構配置和建構腳本後儲存。
建構配置說明:
- 應用清單:選擇 go 1.13
- 代碼資訊:準備工作中 fork 的代碼倉庫
- 建構腳本如下:
同樣的步驟為 frontend 服務配置建構并儲存。
建構配置說明:
- 代碼資訊:準備工作中 fork 的代碼倉庫
- 建構腳本如下:
加入環境
- 點選向導的「下一步」。這時,Zadig 會根據你的配置,建立兩套包括上述 2 個服務的環境以及相關工作流,如下圖所示。
- 繼續點選下一步完成向導流程。
- 點選完成向導,一個有 2 個微服務的項目、2 套環境、3 條工作流已經産生,項目概覽如下。
工作流傳遞
使用工作流對環境中的服務進行部署更新,以 dev 環境為例操作步驟如下。
- 點選 microservice-demo-workflow-dev 工作流 -> 選擇服務,點選「啟動任務」運作工作流。
- 觸發工作流後,可檢視工作流運作狀況,點選服務左側的展開圖示可檢視服務建構的實時日志。
- 待工作流運作完畢,進入 dev 環境,可看到 backend 服務和 frontend 服務被部署更新成功,鏡像資訊均被更新。
配置自動觸發工作流
添加觸發器,使得代碼 Push commit、Pull Request、Push tag 都能自動觸發服務的重新建構和部署。
- 配置工作流
- 添加 Webhook 觸發器 -> 打開 Webhook 開關 -> 添加配置 -> 填寫配置 -> 儲存配置 -> 儲存對工作流的修改
改動代碼,觸發工作流
- 以 Pull Request 事件為例說明,送出 Gitee PR 修改源代碼
- 切換到 Zadig 系統,檢視工作流 microservice-demo-workflow-dev,被自動觸發執行
- 待工作流執行完畢,進入 項目->microservice-demo->環境,可看到服務的鏡像已被自動觸發的工作流更新。
配置 IM 通知
- 配置工作流
- 添加通知 -> 參考 IM 通知填寫相關配置 -> 儲存修改
- 工作流執行後,會自動将運作結果和環境、服務等資訊推送到 IM 系統中,友善及時跟進
Zadig,讓工程師更專注創造!