計算巢支援直接從GitHub、Gitee、公網GitLab、雲效CodeUp匯入倉庫建立服務,對於開發人員和入駐的服務商來說,該功能可以極大地降低服務建立門檻,並可以在較短時間內完成服務建立,後續開發人員可以在該基礎上進行服務的測試、更新以及上架雲市場等。本文介紹如何通過Git建立服務。
前提條件
使用Git建立服務前,請確保您已經建立好對應的倉庫。更多資訊,請參見建立符合計算巢規範的Git倉庫。
功能概述
通過Git建立服務功能可以快速將使用者的Git倉庫轉化為計算巢服務。實現零門檻接入,使用者僅需在計算巢完成Git授權,匯入倉庫後進行基礎配置即可。目前該功能支援多種情境和多種可選配置:
支援的代碼託管平台包括:GitHub、Gitee、公網GitLab、雲效CodeUp,可以選擇其中一種完成授權後匯入倉庫。
支援多種部署情境
可選 私人部署情境和託管版情境
服務類型
服務定義
說明
私人部署服務
在使用者帳號下部署資源和軟體的服務。
適用情境:適用於應用部署在使用者帳號內VPC的PaaS&SaaS軟體。
全託管服務
在服務建立者帳號下部署資源和軟體的服務。
適用情境:適用於應用部署在服務商帳號內VPC的PaaS&SaaS服務。服務建立者對於使用者的雲資源和應用全權進行託管。計算巢支援使用者獨享資源的情境,包括託管版單租(資源完全獨享)和託管版ack多租(資源按ack pod獨享)兩種模式
支援多種應用運行時與部署類型
應用運行時
部署類型
參數名稱
含義
容器
Docker Compose
Docker Compose Yaml 路徑
指定倉庫中DockerCompose檔案路徑。
Docker Compose Env 路徑
指定倉庫中DockerCompose Env檔案路徑,若倉庫中沒有env檔案,採用預設值(.env)即可。
使用者部署參數
配置自訂環境變數參數,使用者實際部署時動態填入。例如.env中配置了
Password=test。這樣使用者在部署時可以填寫自訂的Password,該值將用於替換.env中的變數值。
Dockerfile
Dockerfile 路徑
指定倉庫中Dockerfile檔案路徑。
使用者部署參數
指定Docker運行環境變數key。如docker run -e key=value,value為使用者部署時填寫的實際參數值。
進階選項:Docker鏡像構建參數
指定Docker鏡像構建參數。適用於Dockerfile 使用了多階段 (multi-stage) 特性並且需在構建鏡像前就設定環境變數的情況。
使用者部署參數
指定Docker運行環境變數key。如docker run -e key=value,value為使用者部署時填寫的實際參數值。
服務連接埠
指定服務連接埠,服務正常部署後會通過ip:port的方式暴露出來。
安全性群組入方向連接埠
安全性群組入方向連接埠,可以理解為防火牆,根據軟體配置,指定需要開啟的連接埠號碼。
K8s叢集
Helm Chart
Chart 目錄
指定 Helm Chart 所在目錄。使用者可以選擇倉庫中的 Chart 目錄來佈建服務。
Chart Values
用於自訂 Chart 部署時的可變參數,常用於覆蓋預設值。
輸出類型
可以指定輸出類型,包括Helm Chart內建的使用說明或自訂輸出命令。
Linux Shell
SourceCode
根目錄
支援指定原始碼或應用的根目錄。後續運行命令將在該目錄下執行。
使用者部署參數
可指定軟體運行命令(指令碼)中需要動態傳入的參數名,使用者部署時填寫實際參數值。如下所示,配置參數名為MyPassword,使用者實際部署時填寫參數值,最後將作為環境變數PASSWORD的值。該環境變數可以在運行命令中引用,執行時會自動採用使用者填入參數。
運行命令
指定應用啟動時需要啟動並執行命令。
基礎鏡像
指定基礎鏡像,可以選擇如 CentOS 7.9、Node.js 20、Docker 26 等。
服務連接埠
應用向外暴露使用的連接埠。
安全性群組入方向連接埠
防火牆的入向連接埠設定。
逾時時間
設定運行命令的逾時時間,以防止長時間未啟動而導致資源浪費。
支援託管構建ECS鏡像:考慮到目前中國地區拉取Docker鏡像會遇到各種網路問題導致失敗,計算巢會將倉庫中涉及的Docker鏡像通過阿里雲網路加速功能拉取到ECS執行個體,並構建為ECS鏡像,以此避免Docker鏡像拉取失敗的問題。此鏡像由計算巢託管,但會共用到使用者的阿里雲帳號。
支援通過代碼倉庫更新服務。當倉庫有新提交後,可以直接通過代碼更新服務,系統會自動拉取最新倉庫構建服務。
操作步驟
登入計算巢控制台。
在左側導覽列中,選擇我的服務,並在我的服務頁面中選擇我建立的服務,然後單擊建立新服務。
在建立新服務介面,佈建服務資訊。
選擇建立方式並設定倉庫資訊。
配置項
配置說明
選擇建立服務的方式
選擇通過倉庫建立服務。
倉庫使用者/組織
若您的使用者是在組織倉庫中,您可以選擇個人倉庫或組織倉庫名稱。
倉庫名稱
選擇您需要匯入服務所在的倉庫名稱。
倉庫分支
選擇倉庫下的分支資訊。
選擇後,計算巢會自動檢測您倉庫下的資源描述檔案,若未檢測到檔案資訊,則無法進行下一步配置。
選擇倉庫後,會自動彈出服務配置頁,根據情況選擇具體配置:
由於lobe-chat支援docker-compose方式實現self-host的部署,故在這裡選擇對應的配置項即可。其中的
使用者部署參數支援將指定的Docker Compose Env中的環境變數進行參數化配置,指定後使用者可以在實際部署執行個體時動態填寫對應參數。填寫完成後單擊下一步:基本資料配置。佈建服務的基本資料。
配置項
配置說明
服務表徵圖
支援JPG、PNG格式。建議您上傳的圖片解析度為192x192像素,以便保證展示效果。
服務名稱
由中文、數字、英文及底線(_)組成,長度在3~200個字元之間,一個中文字等於2個字元。
系統會根據您的倉庫資訊預設產生一個名稱,您可以選擇不修改。
服務簡介
簡介長度在10~500個字元之間,一個中文字等於2個字元。
版本描述
版本描述長度在1~200個字元之間,一個中文字等於2個字元。建議包含具體的軟體版本,同一服務下各個版本的描述不能相同。
服務合約文檔
填寫服務建立者自訂該服務的協議文檔名稱和協議URL地址。
單擊建立服務,並在彈出的確認彈窗中單擊確定。服務建立提交後可在提示介面單擊去列表查看。
回到我的服務頁面,可以看到該服務目前已經處於建立中狀態,此時可以點擊
查看日誌,等待服務建立成功。如果失敗,會有相應的報錯日誌,可以根據日誌進行倉庫和參數的調整。當日誌中出現最後的BuildService Success後,說明服務建立成功。重新整理服務頁面後可以看到該服務目前處於 待預發布 狀態。