通過Container Registry的雲原生應用交付鏈功能,您可以自由組合鏡像構建、鏡像掃描、鏡像全球同步和鏡像分發等任務,提供全鏈路可觀測、可追蹤、安全防護能力。本文介紹如何建立交付鏈,從而實現一次提交,全球分發、掃描和部署。
前提條件
步驟一:配置交付鏈的基本資料
在頂部功能表列,選擇所需地區。
在左側導覽列,選擇執行個體列表。
在執行個體列表頁面單擊目標企業版執行個體。
在企業版執行個體管理頁面左側導覽列中選擇 。
在交付鏈列表頁面左上方,單擊建立交付鏈。
在建立交付鏈頁面基本資料地區,輸入以下資訊。
交付鏈名稱:設定交付鏈的名稱。
(可選)交付鏈描述:設定交付鏈的基本描述。
交付鏈作用範圍:分別選擇命名空間以及該命名空間下的鏡像倉庫。
全部生效:開啟後當前命名空間下所有倉庫均加入交付鏈,關閉後可指定倉庫不加入交付鏈。
步驟二:配置交付鏈的鏡像構建規則
如果您選擇的鏡像倉庫是本地倉庫,則無法使用交付鏈的構建功能。
在交付鏈的導覽地區,單擊鏡像構建,然後單擊添加規則。
在構建資訊設定精靈中設定參數,然後單擊下一步。
參數
說明
類型
設定原始碼倉庫的類型,可以是Branch或Tag。
Branch/Tag
選擇或者填寫Branch/Tag,支援正則規則。當正則規則為release-(?<imageTag>\w*)時,將識別release-v1原始碼變更並自動構建版本為v1的鏡像(不支援立即構建),更多資訊,請參見Regex命名擷取的群組。
說明設定正則規則後僅支援系統自動構建,不支援手動立即構建。
構建上下文目錄
設定Dockerfile檔案所在的目錄。指的是相對目錄,以代碼分支的根目錄為父目錄。
Dockerfile檔案名稱
設定Dockerfile檔案名稱,預設為Dockerfile。
在鏡像版本設定精靈中設定參數,單擊儲存,然後單擊下一步。
說明單擊新增配置,可以增加鏡像版本,最多可以設定3個鏡像版本。
參數
說明
鏡像版本
設定鏡像Tag,例如latest。支援命名捕獲,例如使用Branch/Tag中捕獲的內容。
時間
推送原始碼的東八區(UTC+8)時間,有兩種格式可供選擇,例如20201015和202010151613。
說明該參數為可選項,當選中該參數後系統僅支援自動構建,不支援手動立即構建。
Commit ID
最近一次推送代碼的Commit ID,預設取前6位,可以滑動下方的滑塊設定位元。
說明該參數為可選項,當選中該參數後系統僅支援自動構建,不支援手動立即構建。
在構建配置設定精靈中設定構建參數,然後單擊確定。
參數
說明
構建架構
選擇構建架構,支援並行構建,最終形成一個鏡像版本對應多個架構鏡像。
構建參數
鏡像構建運行時參數,構建參數由區分大小寫索引值對組成,您最多可以設定20個構建參數。
步驟三:配置交付鏈的安全掃描規則
通過配置交付鏈的安全掃描,可以確保鏡像同步和分發的安全性。
在交付鏈的導覽地區,單擊安全掃描。
在節點配置地區,設定阻斷規則。
安全引擎:支援選擇雲安全掃描引擎和Trivy掃描引擎。
雲安全掃描引擎在掃描出漏洞後,支援一鍵修複漏洞功能。Trivy掃描引擎不支援一鍵修複漏洞功能。
說明使用Security Center鏡像掃描功能,您需要購買Security Center旗艦版。具體操作,請參見購買Security Center。如果您在控制台上沒有看到Security Center的選項,有可能是您當前地區Security Center未開服。
是否阻斷:
阻斷:當滿足阻斷規則時,交付鏈將停止執行後續步驟。
需要設定由漏洞等級、漏洞個數所構成的阻斷規則,還需要設定是否刪除原始鏡像,以及是否備份鏡像所構成的阻斷交付鏈後的操作。
不阻斷:所有的鏡像版本在不阻斷的情況下,都會繼續執行後續步驟。
步驟四:配置交付鏈的鏡像同步規則
通過配置同步規則,可以在企業版執行個體之間根據規則自動同步更新的鏡像版本。
在交付鏈的導覽地區,單擊觸發同步,然後單擊建立規則。
在建立規則對話方塊中,輸入規則名稱,並配置目標執行個體,然後單擊下一步。
如果已存在目標執行個體,請選擇所在地區和該地區下所需的企業版執行個體。
如果不存在目標執行個體,單擊建立執行個體。更多資訊,請參見建立企業版執行個體。
說明在不開啟公網的情境下,支援鏡像的跨域自動同步。
在同步資訊設定精靈中,配置源執行個體的同步資訊,然後單擊建立同步規則。
參數
說明
同步層級
選擇同步層級,支援按照命名空間和倉庫進行同步。
來源地址
選擇命名空間和倉庫名稱,輸入倉庫版本過濾的正則規則,預設為所有版本。僅設定同步層級為倉庫時,需要選擇特定的源倉庫。
步驟五:配置交付鏈的分發觸發器
通過配置分發觸發器,可以為部署的應用建立一個重新部署的觸發器,從而實現應用的自動部署。
在交付鏈的導覽頁面,單擊分發觸發器,然後單擊建立。
在建立觸發器對話方塊配置參數,然後單擊確定。
參數
說明
名稱
設定觸發器名稱。
觸發器URL
輸入在ACK擷取的觸發器URL。
觸發方式
設定觸發方式,支援以下3種觸發方式:
全部觸發:只要鏡像版本有更新,就會觸發觸發器。
運算式觸發:基於Regex來進行鏡像版本的過濾,只有當符合Regex的鏡像版本才會觸發觸發器。
Tag觸發:基於鏡像版本列表來進行鏡像版本的過濾,只有鏡像版本在設定的鏡像版本列表中才會觸發觸發器。
在建立交付鏈頁面左下角單擊建立並返回列表。
執行結果
在交付鏈的配置頁面中,可以查看到新建立的交付鏈。
當倉庫提交代碼或者鏡像推送完成之後,在交付鏈執行個體的頁面可以查看到各個步驟的運行狀態和結果,最終可以在Kubernetes叢集中查看到鏡像被成功更新。