全部產品
Search
文件中心

Alibaba Cloud DevOps:鏡像構建並推送自訂鏡像倉庫

更新時間:Apr 09, 2025

本文檔將為您介紹如何通過流水線Flow,實現代碼源託管到鏡像構建,並推送到自訂的私人鏡像倉庫。

前提條件

  • 請確保安裝配置完成自訂的鏡像倉庫(ACR/Harbor),關於使用自訂ACR鏡像倉庫,具體操作請參閱使用個人版執行個體推送拉取鏡像

  • 代碼託管倉庫需要包含構建鏡像的Dockerfile指令檔案。

步驟一:建立流水線

  1. 登入流水線控制台,在控制台介面,請單擊右側上方建立流水線按鈕

  2. 在快顯視窗中,根據需求選擇合適的流水線模板,本文選擇使用了空模板,單擊建立按鈕。

步驟二:流水線任務>代碼源

  1. 選擇建立的目標流水線,進入到流水線任務節點的操作頁面。

  2. 選擇任務節點按鈕添加流水線源,單擊代碼源,選擇範例程式碼源,選擇JAVA語言,單擊添加按鈕,完成代碼源流水線任務配置。高的 (88)

    說明

    流水線源提供了多種代碼源的託管倉庫平台,如:自建GitLab、Codeup、GitHub等,可以根據您的需求選擇。

    重要

步驟三:流水線任務>鏡像構建並推送Harbor

選擇構建環境,配置鏡像構建 > 鏡像構建推送方式。

指定容器環境/預設VM環境

  1. 選擇任務節點新的任務,選擇導覽功能表鏡像構建,添加鏡像構建推送任務。如果已有空白任務,則在任務步驟中,單獨添加兩個步驟Docker Login鏡像構建並推送高的 (90)

  2. 配置基本參數。

    參數

    說明

    任務名稱

    您可自訂任務名稱,一般保持預設即可。

    構建叢集

    支援以下構建叢集:

    構建環境

    支援以下構建環境:

    • 指定容器環境(雲效預設構建叢集):流水線 Flow 在構建機器上啟動指定容器,在單容器環境進行構建。雲效提供官方常用鏡像供選擇使用、您也可以指定自己的鏡像作為運行環境。

    • 預設VM環境(僅私人構建叢集支援):須選擇指定構建節點。流水線 Flow會直接在構建機器上安裝環境並執行任務,為了提升任務構建速度建議提前在構建機器上安裝好相應SDK和環境。

    說明

    任務執行期間,流水線任務構建環境分配給使用者使用,構建環境的使用權歸屬使用者,任務執行指令碼由使用者自訂。

    下載流水線源

    開啟下載流水線源後,您配置的源檔案將會被下載至對應的工作目錄下。支援以下三種方式:

    • 下載全部流水線源

    • 不下載流水線源

    • 下載部分流水線源

  3. 在任務步驟中,單擊添加步驟,添加Java專案構建環境,安裝 Java配置 MavenSettings 檔案執行命令三個步驟。Group@1x

  4. 任務步驟配置項裡,展開Docker Login和鏡像構建並推送任務,完成以下任務參數設定。

    參數

    說明

    步驟名稱

    您可以自訂步驟名稱,本文保持預設名稱。

    鏡像倉庫地址

    設定Registry自訂鏡像倉庫地址。

    選擇服務串連

    單擊添加服務串連,選擇或者建立您的Harbor私人鏡像倉庫帳號和密碼,將目標私人鏡像倉庫服務授權於流水線 Flow服務訪問。

    鏡像地址

    填寫鏡像構建並推送的地址。

    說明
    • 鏡像地址格式,例如:172.xx.xx.133/library/test:latest,表示IP地址或者網域名稱+專案名稱+標籤。

    • 鏡像地址支援固定Repository,例如registry.cn-hangzhou.aliyuncs.com/ns/demo:1.0,或者帶動態參數例如registry.cn-hangzhou.aliyuncs.com/ns/demo:${DATETIME}。

    Dockerfile路徑

    本文範例程式碼源倉庫中Dockerfile檔案位於根目錄下,保持預設路徑即可。

    說明
    • 如果非本文範例程式碼源,請正確設定您的Dockerfile路徑地址。

    • Dockerfile路徑,預設路徑是相對於程式碼程式庫根目錄所在路徑,如META/config/Dockerfile或Dockerfile。

    鏡像緩衝

    指定鏡像緩衝方式,支援 local 本機快取(僅私人構建叢集生效)、remote 遠端緩衝、no-cache 不使用緩衝三種方式:

    • 本機快取:僅在私人構建叢集下生效,使用構建機本機快取。

    • 遠端緩衝:使用 --cache-from--cache-to指定遠端緩衝鏡像地址。不填則預設使用 <鏡像 repo 地址>:flow-docker-build-cache 作為緩衝地址。

    • 不使用緩衝:公用構建叢集無本機快取,不使用緩衝;私人構建叢集使用--no-cache指定不使用緩衝,每次構建重新拉取鏡像層。

    更多構建參數

    支援指定更多構建參數定製構建行為,如--build-arg arg1=value1 指定構建參數;--platform linux/amd64,linux/arm64指定構建架構。

    Group@1x (1)

步驟四:運行並查看日誌

  1. 在流水線Flow控制台介面我的流水線列表,單擊目標流水線右側image運行按鈕,選擇目標流水線查看流水線任務節點介面。

  2. 在構建鏡像任務節點,單擊日誌查看到流水線任務步驟及日誌。Group@1x (2)

相關文檔

在Dockerfile中使用構建打包鏡像並運行

本地構建和推送多架構鏡像到Container Registry