全部產品
Search
文件中心

Container Registry:建立交付鏈

更新時間:Sep 25, 2024

通過Container Registry的雲原生應用交付鏈功能,您可以自由組合鏡像構建、鏡像掃描、鏡像全球同步和鏡像分發等任務,提供全鏈路可觀測、可追蹤、安全防護能力。本文介紹如何建立交付鏈,從而實現一次提交,全球分發、掃描和部署。

前提條件

步驟一:配置交付鏈的基本資料

  1. 登入Container Registry控制台

  2. 在頂部功能表列,選擇所需地區。

  3. 在左側導覽列,選擇執行個體列表

  4. 執行個體列表頁面單擊目標企業版執行個體。

  5. 在企業版執行個體管理頁面左側導覽列中選擇雲原生交付鏈 > 交付鏈

  6. 交付鏈列表頁面左上方,單擊建立交付鏈

  7. 建立交付鏈頁面基本資料地區,輸入以下資訊。

    • 交付鏈名稱:設定交付鏈的名稱。

    • (可選)交付鏈描述:設定交付鏈的基本描述。

    • 交付鏈作用範圍:分別選擇命名空間以及該命名空間下的鏡像倉庫。

    • 全部生效:開啟後當前命名空間下所有倉庫均加入交付鏈,關閉後可指定倉庫不加入交付鏈。

步驟二:配置交付鏈的鏡像構建規則

如果您選擇的鏡像倉庫是本地倉庫,則無法使用交付鏈的構建功能。

  1. 在交付鏈的導覽地區,單擊鏡像構建,然後單擊添加規則

  2. 構建資訊設定精靈中設定參數,然後單擊下一步

    參數

    說明

    類型

    設定原始碼倉庫的類型,可以是Branch或Tag。

    Branch/Tag

    選擇或者填寫Branch/Tag,支援正則規則。當正則規則為release-(?<imageTag>\w*)時,將識別release-v1原始碼變更並自動構建版本為v1的鏡像(不支援立即構建),更多資訊,請參見Regex命名擷取的群組

    說明

    設定正則規則後僅支援系統自動構建,不支援手動立即構建。

    構建上下文目錄

    設定Dockerfile檔案所在的目錄。指的是相對目錄,以代碼分支的根目錄為父目錄。

    Dockerfile檔案名稱

    設定Dockerfile檔案名稱,預設為Dockerfile。

  3. 鏡像版本設定精靈中設定參數,單擊儲存,然後單擊下一步

    說明

    單擊新增配置,可以增加鏡像版本,最多可以設定3個鏡像版本。

    參數

    說明

    鏡像版本

    設定鏡像Tag,例如latest。支援命名捕獲,例如使用Branch/Tag中捕獲的內容。

    時間

    推送原始碼的東八區(UTC+8)時間,有兩種格式可供選擇,例如20201015和202010151613。

    說明

    該參數為可選項,當選中該參數後系統僅支援自動構建,不支援手動立即構建。

    Commit ID

    最近一次推送代碼的Commit ID,預設取前6位,可以滑動下方的滑塊設定位元。

    說明

    該參數為可選項,當選中該參數後系統僅支援自動構建,不支援手動立即構建。

  4. 構建配置設定精靈中設定構建參數,然後單擊確定

    參數

    說明

    構建架構

    選擇構建架構,支援並行構建,最終形成一個鏡像版本對應多個架構鏡像。

    構建參數

    鏡像構建運行時參數,構建參數由區分大小寫索引值對組成,您最多可以設定20個構建參數。

步驟三:配置交付鏈的安全掃描規則

通過配置交付鏈的安全掃描,可以確保鏡像同步和分發的安全性。

  1. 在交付鏈的導覽地區,單擊安全掃描

  2. 節點配置地區,設定阻斷規則。

    • 安全引擎:支援選擇雲安全掃描引擎Trivy掃描引擎

      雲安全掃描引擎在掃描出漏洞後,支援一鍵修複漏洞功能。Trivy掃描引擎不支援一鍵修複漏洞功能。

      說明

      使用Security Center鏡像掃描功能,您需要購買Security Center旗艦版。具體操作,請參見購買Security Center。如果您在控制台上沒有看到Security Center的選項,有可能是您當前地區Security Center未開服。

    • 是否阻斷:

      • 阻斷:當滿足阻斷規則時,交付鏈將停止執行後續步驟。

        需要設定由漏洞等級漏洞個數所構成的阻斷規則,還需要設定是否刪除原始鏡像,以及是否備份鏡像所構成的阻斷交付鏈後的操作。

      • 不阻斷:所有的鏡像版本在不阻斷的情況下,都會繼續執行後續步驟。

步驟四:配置交付鏈的鏡像同步規則

通過配置同步規則,可以在企業版執行個體之間根據規則自動同步更新的鏡像版本。

  1. 在交付鏈的導覽地區,單擊觸發同步,然後單擊建立規則

  2. 建立規則對話方塊中,輸入規則名稱,並配置目標執行個體,然後單擊下一步

    • 如果已存在目標執行個體,請選擇所在地區和該地區下所需的企業版執行個體。

    • 如果不存在目標執行個體,單擊建立執行個體。更多資訊,請參見建立企業版執行個體

    說明

    在不開啟公網的情境下,支援鏡像的跨域自動同步。

  3. 同步資訊設定精靈中,配置源執行個體的同步資訊,然後單擊建立同步規則

    參數

    說明

    同步層級

    選擇同步層級,支援按照命名空間和倉庫進行同步。

    來源地址

    選擇命名空間和倉庫名稱,輸入倉庫版本過濾的正則規則,預設為所有版本。僅設定同步層級倉庫時,需要選擇特定的源倉庫。

步驟五:配置交付鏈的分發觸發器

通過配置分發觸發器,可以為部署的應用建立一個重新部署的觸發器,從而實現應用的自動部署。

  1. 在交付鏈的導覽頁面,單擊分發觸發器,然後單擊建立

  2. 建立觸發器對話方塊配置參數,然後單擊確定

    參數

    說明

    名稱

    設定觸發器名稱。

    觸發器URL

    輸入在ACK擷取的觸發器URL。

    觸發方式

    設定觸發方式,支援以下3種觸發方式:

    • 全部觸發:只要鏡像版本有更新,就會觸發觸發器。

    • 運算式觸發:基於Regex來進行鏡像版本的過濾,只有當符合Regex的鏡像版本才會觸發觸發器。

    • Tag觸發:基於鏡像版本列表來進行鏡像版本的過濾,只有鏡像版本在設定的鏡像版本列表中才會觸發觸發器。

  3. 建立交付鏈頁面左下角單擊建立並返回列表

執行結果

在交付鏈的配置頁面中,可以查看到新建立的交付鏈。

當倉庫提交代碼或者鏡像推送完成之後,在交付鏈執行個體的頁面可以查看到各個步驟的運行狀態和結果,最終可以在Kubernetes叢集中查看到鏡像被成功更新。