創(chuàng)建交付鏈
通過(guò)容器鏡像服務(wù)的云原生應(yīng)用交付鏈功能,您可以自由組合鏡像構(gòu)建、鏡像掃描、鏡像全球同步和鏡像分發(fā)等任務(wù),提供全鏈路可觀測(cè)、可追蹤、安全防護(hù)能力。本文介紹如何創(chuàng)建交付鏈,從而實(shí)現(xiàn)一次提交,全球分發(fā)、掃描和部署。
前提條件
- 重要
云原生應(yīng)用交付鏈功能僅在企業(yè)版實(shí)例的高級(jí)版中支持。
步驟一:配置交付鏈的基本信息
在頂部菜單欄,選擇所需地域。
在左側(cè)導(dǎo)航欄,選擇實(shí)例列表。
在實(shí)例列表頁(yè)面單擊目標(biāo)企業(yè)版實(shí)例。
在企業(yè)版實(shí)例管理頁(yè)面左側(cè)導(dǎo)航欄中選擇 。
在交付鏈列表頁(yè)面左上角,單擊創(chuàng)建交付鏈。
在創(chuàng)建交付鏈頁(yè)面基本信息區(qū)域,輸入以下信息。
交付鏈名稱:設(shè)置交付鏈的名稱。
(可選)交付鏈描述:設(shè)置交付鏈的基本描述。
交付鏈作用范圍:分別選擇命名空間以及該命名空間下的鏡像倉(cāng)庫(kù)。
全部生效:開(kāi)啟后當(dāng)前命名空間下所有倉(cāng)庫(kù)均加入交付鏈,關(guān)閉后可指定倉(cāng)庫(kù)不加入交付鏈。
步驟二:配置交付鏈的鏡像構(gòu)建規(guī)則
如果您選擇的鏡像倉(cāng)庫(kù)是本地倉(cāng)庫(kù),則無(wú)法使用交付鏈的構(gòu)建功能。
在交付鏈的導(dǎo)覽區(qū)域,單擊鏡像構(gòu)建,然后單擊添加規(guī)則。
在構(gòu)建信息配置向?qū)е性O(shè)置參數(shù),然后單擊下一步。
參數(shù)
說(shuō)明
類型
設(shè)置源代碼倉(cāng)庫(kù)的類型,可以是Branch或Tag。
Branch/Tag
選擇或者填寫B(tài)ranch/Tag,支持正則規(guī)則。當(dāng)正則規(guī)則為release-(?<imageTag>\w*)時(shí),將識(shí)別release-v1源代碼變更并自動(dòng)構(gòu)建版本為v1的鏡像(不支持立即構(gòu)建),更多信息,請(qǐng)參見(jiàn)正則表達(dá)式命名捕獲組。
說(shuō)明設(shè)置正則規(guī)則后僅支持系統(tǒng)自動(dòng)構(gòu)建,不支持手動(dòng)立即構(gòu)建。
構(gòu)建上下文目錄
設(shè)置Dockerfile文件所在的目錄。指的是相對(duì)目錄,以代碼分支的根目錄為父目錄。
Dockerfile文件名
設(shè)置Dockerfile文件名,默認(rèn)為Dockerfile。
在鏡像版本配置向?qū)е性O(shè)置參數(shù),單擊保存,然后單擊下一步。
說(shuō)明單擊新增配置,可以增加鏡像版本,最多可以設(shè)置3個(gè)鏡像版本。
參數(shù)
說(shuō)明
鏡像版本
設(shè)置鏡像Tag,例如latest。支持命名捕獲,例如使用Branch/Tag中捕獲的內(nèi)容。
時(shí)間
推送源代碼的東八區(qū)(UTC+8)時(shí)間,有兩種格式可供選擇,例如20201015和202010151613。
說(shuō)明該參數(shù)為可選項(xiàng),當(dāng)選中該參數(shù)后系統(tǒng)僅支持自動(dòng)構(gòu)建,不支持手動(dòng)立即構(gòu)建。
Commit ID
最近一次推送代碼的Commit ID,默認(rèn)取前6位,可以滑動(dòng)下方的滑塊設(shè)置位數(shù)。
說(shuō)明該參數(shù)為可選項(xiàng),當(dāng)選中該參數(shù)后系統(tǒng)僅支持自動(dòng)構(gòu)建,不支持手動(dòng)立即構(gòu)建。
在構(gòu)建配置配置向?qū)е性O(shè)置構(gòu)建參數(shù),然后單擊確定。
參數(shù)
說(shuō)明
構(gòu)建架構(gòu)
選擇構(gòu)建架構(gòu),支持并行構(gòu)建,最終形成一個(gè)鏡像版本對(duì)應(yīng)多個(gè)架構(gòu)鏡像。
構(gòu)建參數(shù)
鏡像構(gòu)建運(yùn)行時(shí)參數(shù),構(gòu)建參數(shù)由區(qū)分大小寫的鍵值對(duì)組成,您最多可以設(shè)置20個(gè)構(gòu)建參數(shù)。
步驟三:配置交付鏈的安全掃描規(guī)則
通過(guò)配置交付鏈的安全掃描,可以確保鏡像同步和分發(fā)的安全性。
在交付鏈的導(dǎo)覽區(qū)域,單擊安全掃描。
在節(jié)點(diǎn)配置區(qū)域,設(shè)置阻斷規(guī)則。
安全引擎:支持選擇云安全掃描引擎和Trivy掃描引擎。
云安全掃描引擎在掃描出漏洞后,支持一鍵修復(fù)漏洞功能。Trivy掃描引擎不支持一鍵修復(fù)漏洞功能。
說(shuō)明使用云安全中心鏡像掃描功能,您需要購(gòu)買云安全中心旗艦版。具體操作,請(qǐng)參見(jiàn)購(gòu)買云安全中心。如果您在控制臺(tái)上沒(méi)有看到云安全中心的選項(xiàng),有可能是您當(dāng)前地域云安全中心未開(kāi)服。
是否阻斷:
阻斷:當(dāng)滿足阻斷規(guī)則時(shí),交付鏈將停止執(zhí)行后續(xù)步驟。
需要設(shè)置由漏洞等級(jí)、漏洞個(gè)數(shù)所構(gòu)成的阻斷規(guī)則,還需要設(shè)置是否刪除原始鏡像,以及是否備份鏡像所構(gòu)成的阻斷交付鏈后的操作。
不阻斷:所有的鏡像版本在不阻斷的情況下,都會(huì)繼續(xù)執(zhí)行后續(xù)步驟。
步驟四:配置交付鏈的鏡像同步規(guī)則
通過(guò)配置同步規(guī)則,可以在企業(yè)版實(shí)例之間根據(jù)規(guī)則自動(dòng)同步更新的鏡像版本。
在交付鏈的導(dǎo)覽區(qū)域,單擊觸發(fā)同步,然后單擊新建規(guī)則。
在新建規(guī)則對(duì)話框中,輸入規(guī)則名稱,并配置目標(biāo)實(shí)例,然后單擊下一步。
如果已存在目標(biāo)實(shí)例,請(qǐng)選擇所在地域和該地域下所需的企業(yè)版實(shí)例。
如果不存在目標(biāo)實(shí)例,單擊新建實(shí)例。更多信息,請(qǐng)參見(jiàn)創(chuàng)建企業(yè)版實(shí)例。
說(shuō)明在不開(kāi)啟公網(wǎng)的場(chǎng)景下,支持鏡像的跨域自動(dòng)同步。
在同步信息配置向?qū)е校渲迷磳?shí)例的同步信息,然后單擊創(chuàng)建同步規(guī)則。
參數(shù)
說(shuō)明
同步級(jí)別
選擇同步級(jí)別,支持按照命名空間和倉(cāng)庫(kù)進(jìn)行同步。
來(lái)源地址
選擇命名空間和倉(cāng)庫(kù)名稱,輸入倉(cāng)庫(kù)版本過(guò)濾的正則規(guī)則,默認(rèn)為所有版本。僅設(shè)置同步級(jí)別為倉(cāng)庫(kù)時(shí),需要選擇特定的源倉(cāng)庫(kù)。
步驟五:配置交付鏈的分發(fā)觸發(fā)器
通過(guò)配置分發(fā)觸發(fā)器,可以為部署的應(yīng)用創(chuàng)建一個(gè)重新部署的觸發(fā)器,從而實(shí)現(xiàn)應(yīng)用的自動(dòng)部署。
在交付鏈的導(dǎo)覽頁(yè)面,單擊分發(fā)觸發(fā)器,然后單擊創(chuàng)建。
在創(chuàng)建觸發(fā)器對(duì)話框配置參數(shù),然后單擊確定。
參數(shù)
說(shuō)明
名稱
設(shè)置觸發(fā)器名稱。
觸發(fā)器URL
輸入在ACK獲取的觸發(fā)器URL。具體步驟,請(qǐng)參見(jiàn)使用容器鏡像觸發(fā)器自動(dòng)更新應(yīng)用。
觸發(fā)方式
設(shè)置觸發(fā)方式,支持以下3種觸發(fā)方式:
全部觸發(fā):只要鏡像版本有更新,就會(huì)觸發(fā)觸發(fā)器。
表達(dá)式觸發(fā):基于正則表達(dá)式來(lái)進(jìn)行鏡像版本的過(guò)濾,只有當(dāng)符合正則表達(dá)式的鏡像版本才會(huì)觸發(fā)觸發(fā)器。
Tag觸發(fā):基于鏡像版本列表來(lái)進(jìn)行鏡像版本的過(guò)濾,只有鏡像版本在設(shè)置的鏡像版本列表中才會(huì)觸發(fā)觸發(fā)器。
在創(chuàng)建交付鏈頁(yè)面左下角單擊創(chuàng)建并返回列表。
執(zhí)行結(jié)果
在交付鏈的配置頁(yè)面中,可以查看到新創(chuàng)建的交付鏈。
當(dāng)倉(cāng)庫(kù)提交代碼或者鏡像推送完成之后,在交付鏈實(shí)例的頁(yè)面可以查看到各個(gè)步驟的運(yùn)行狀態(tài)和結(jié)果,最終可以在Kubernetes集群中查看到鏡像被成功更新。