男神鵬:微服務開發規範與CI接入流程
阿新 • • 發佈:2020-12-17
工業雲微服務統一接入流程(方便後續標準化和接入交付平臺):
- 接入映象構建
- 錄入微服務資訊:暫時忽略
映象構建
工業雲後臺所有微服務的軟體原始碼統一通過 QCI 進行構建;構建所依賴的指令碼和 Dockerfile 統一託管在 git 專案tools中,因此微服務專案的組織形式須符合以下兩種形式:
- 多微服務專案【推薦方式】,例如 iam,asm,或者參考文件專案工程規範
- 獨立微服務專案,例如 instance-center
所有微服務專案都通過 QCI 模板的方式來建立 QCI 構建任務,請注意以下兩點:
- 每個專案儘量在每個迭代建立一個構建任務,不要隨意建立,後續統一清理現有;
- 程式碼庫認證請選擇“SSH + Token”方式,相關憑據選賊GIT_SSH
具體接入步驟請參考以下內容:
多微服務專案接入 QCI
下面我們以專案 iam 為例,獨立微服務專案如何接入 QCI:
- 選擇構建模板QCI構建模板_後臺微服務專案,並新建任務:
- 輸入任務名稱,建議名稱為“專案名-迭代名”;關聯需要的程式碼庫:
- 選擇名為“GIT_SSH”認證,如果沒有的話,請看第4步;
- 新建認證(可選):
4.1 選中需要的程式碼庫,如果沒有的話,請先登記程式碼庫
4.2 新增認證,認證方式選擇SSH + Token,憑據選擇GIT_SSH - 檢視基於模板生成的構建任務-iam-來自模板:
- 任務構建時,如何設定環境變數
MODULES
- 構建多個微服務,可以填寫多個微服名,並用英文分號分割
- 構建單個微服務,填寫單個微服務名
- 構建所有微服務,填為空即可
獨立微服務專案接入 QCI
下面我們以專案 instance-center 為例,獨立微服務專案如何接入 QCI:
- 選擇構建模板QCI構建模板_後臺微服務專案,並新建任務:
- 輸入任務名稱,建議名稱為“專案名-迭代名”;關聯需要的程式碼庫:
- 選擇名為“GIT_SSH”認證,如果沒有的話,請看第4步;
- 新建認證(可選):
4.1 選中需要的程式碼庫,如果沒有的話,請先登記程式碼庫
4.2 新增認證,認證方式選擇SSH + Token,憑據選擇GIT_SSH - 修改環境變數
MODULES
注意:如果發現構建失敗,請檢查:
是否使用 vendor 模式進行構建,但是沒有上傳 vendor目錄?
如何確定是否使用 vendor 模式:檢查專案的 makefile 中-mod=vendor
如果發現容器執行異常,請檢查容器的工作目錄,新的 dockerfile 模板已經改為/data
接入模板後,會知道映象名稱的改變,請注意檢視下
備註:服務構建完後,會同時推送到以下兩個映象倉庫中:
# 非雲梯騰訊雲倉庫,邊緣機房可以使用該賬號
ccr.ccs.tencentyun.com/cloudindustry
username:100008089439
password:LRSxVZwaZ#kj
# 雲梯自動化測試環境倉庫,日常開發請勿使用
ccr.ccs.tencentyun.com/autotest-cloudindustry
username:100011201700
password:test@D0cker
檢視構建產物
目前,QCI 的構建產物為:
- 服務映象列表:message.txt
- 服務環境模板:env.yaml
構建環境變數說明
- MODULES:請檢視接入步驟說明
- MICRO_*:這兩個引數用於構建時指定微服務執行的環境變數,如果是 Docker Swarm 環境下,請將這兩個值置為空;
- 構建版本號,請自行根據迭代版本進行修改執行配置,如下所示: