雲效流水線具備Docker部署能力,最終部署的目標來源於流水線任務鏡像構建產物,本文將主要介紹如何使用流水線構建鏡像完成Docker 部署任務。
建立Docker 部署流水線
在流水線Flow首頁,單擊建立流水線,選擇模板Java · 測試、構建鏡像建立。
在流水線源階段,單擊添加流水線源,選擇代碼源類型Codeup,配置服務串連以及程式碼程式庫相關參數。

在構建鏡像階段,單擊鏡像構建並推送至ACR(個人版),選擇已授權的服務串連及ACR地區與倉庫,指定標籤與Dockerfile 路徑,樣本請參見雲效spring-boot樣本dockerfile。

配置 Docker 部署任務
在新階段,單擊新的任務,通過 新增工作。

在Docker 部署任務,選擇一個已建立的主機群組或選擇建立主機群組。
說明Docker部署主機需要您提前自行在機器上安裝 Docker 軟體。
配置Docker部署指令碼。
當您所部署的鏡像來自您的私人倉庫時,需要提供登入授權資訊,為了安全起見,您可以使用 Flow 提供的變數功能,在變數中設定 Docker 登入使用者名稱
DOCKER_USERNAME和密碼DOCKER_PASSWORD。在目標流水線編輯頁面,選擇,單擊建立變數,組態變數資訊。
在部署指令碼中使用登入鏡像倉庫命令操作,
echo ${DOCKER_PASSWORD} | docker login --username ${DOCKER_USERNAME} --password-stdin registry.cn-hangzhou.aliyuncs.com(鏡像倉庫地址根據您的專案實際情況輸入)。接下來通過執行相關命令即可對私人倉庫鏡像進行操作。 如下是部署指令碼中登入鏡像倉庫的操作命令。echo ${DOCKER_PASSWORD} | docker login --username ${DOCKER_USERNAME} --password-stdin registry.cn-hangzhou.aliyuncs.com
添加變數,分為如下兩種類型:
一種是上遊輸出變數,上遊輸出產物可以是阿里雲鏡像構建產物,也可以是自訂鏡像構建產物。配置上遊產物的變數
image鏡像地址。另一種可以配置自訂變數,在執行命令時變數會寫入機器環境變數中,從而可以直接使用,例如部署指令碼,添加自訂變數把
appname賦值flow-example當作容器名稱。
如下是部署指令碼中一個典型的運行Docker容器命令。
docker run -d --name ${appname} ${image}
配置部署策略,避免不穩定發布對使用者的影響,保障業務交付的穩定。
運行並查看Docker部署詳情
在運行流水線任務完成後,在階段,單擊部署詳情,可查看具體批次與日誌。