構(gòu)建倉庫與鏡像
本文介紹如何在個(gè)人版實(shí)例創(chuàng)建鏡像倉庫、設(shè)置構(gòu)建規(guī)則以及構(gòu)建鏡像。
使用說明
個(gè)人版鏡像構(gòu)建的超時(shí)時(shí)間設(shè)定為30分鐘。如果您對(duì)構(gòu)建性能有要求,需要使用靈活構(gòu)建配置、自定義構(gòu)建參數(shù)、多架構(gòu)構(gòu)建等功能,建議您使用企業(yè)版實(shí)例構(gòu)建鏡像。具體操作,請參見使用企業(yè)版實(shí)例構(gòu)建鏡像。
使用個(gè)人版實(shí)例構(gòu)建鏡像前,您需要確保Dockerfile文件中的基礎(chǔ)鏡像滿足以下要求:
支持使用所有免授權(quán)的公開公網(wǎng)鏡像。
支持使用個(gè)人版同地域同賬號(hào)的私有公網(wǎng)鏡像。
不支持使用個(gè)人版非同地域私有鏡像。
不支持使用所有地域VPC網(wǎng)絡(luò)鏡像。
不支持使用第三方授權(quán)鏡像。
例如,在構(gòu)建鏡像時(shí),您的Dockerfile文件中的基礎(chǔ)鏡像可以使用個(gè)人版的公網(wǎng)公開鏡像,不可以使用第三方授權(quán)鏡像。
功能特點(diǎn)
使用構(gòu)建功能需綁定源代碼倉庫,請您創(chuàng)建個(gè)人版實(shí)例后,綁定源代碼倉庫。
代碼變更時(shí)自動(dòng)觸發(fā)構(gòu)建
開啟代碼變更自動(dòng)構(gòu)建鏡像后,每次提交代碼將自動(dòng)觸發(fā)鏡像構(gòu)建,減少手動(dòng)觸發(fā)構(gòu)建的繁瑣工作。
在頂部菜單欄,選擇所需地域。
在左側(cè)導(dǎo)航欄,選擇實(shí)例列表。
在實(shí)例列表頁面單擊個(gè)人版實(shí)例。
在個(gè)人版實(shí)例管理頁面選擇
。在鏡像倉庫頁面,單擊目標(biāo)倉庫右側(cè)操作列的管理。
在左側(cè)導(dǎo)航欄,選擇構(gòu)建,然后開啟代碼變更自動(dòng)構(gòu)建鏡像。
海外構(gòu)建
代碼構(gòu)建過程中可能會(huì)依賴國外源,但由于網(wǎng)絡(luò)環(huán)境,ACR提供海外機(jī)器構(gòu)建功能。在海外構(gòu)建完成后,將鏡像推送到指定地域的倉庫中。
說明有時(shí)海外回中國內(nèi)地的網(wǎng)絡(luò)不穩(wěn)定,可能會(huì)導(dǎo)致鏡像推送超時(shí)失敗。
不使用緩存
開啟不使用緩存后,每次構(gòu)建都會(huì)重新拉取基礎(chǔ)依賴鏡像,這可能會(huì)增加鏡像拉取時(shí)間,因此建議關(guān)閉該選項(xiàng)。
多階段構(gòu)建
阿里云容器鏡像構(gòu)建同時(shí)支持多階段構(gòu)建特性。更多信息,請參見多階段構(gòu)建。
步驟一:綁定代碼源
綁定代碼源,本文以綁定GitHub為例。
本地倉庫不支持鏡像構(gòu)建功能。
接入VPC內(nèi)的私有GitLab,請參見使用VPC安全構(gòu)建模式構(gòu)建容器鏡像。
在頂部菜單欄,選擇所需地域。
在左側(cè)導(dǎo)航欄,選擇實(shí)例列表。
在實(shí)例列表頁面單擊個(gè)人版實(shí)例。
在個(gè)人版實(shí)例管理頁面選擇
。在代碼源頁面單擊GitHub右側(cè)操作列下的綁定賬號(hào)。
在GitHub對(duì)話框單擊點(diǎn)擊前往源代碼倉庫登錄。
在GitHub頁面輸入賬號(hào)和密碼,然后單擊Sign in。
頁面自動(dòng)跳轉(zhuǎn)至容器鏡像控制臺(tái),并且顯示您已成功綁定GitHub賬號(hào)。
步驟二:創(chuàng)建鏡像倉庫
創(chuàng)建鏡像倉庫前,需要在所需地域下已創(chuàng)建命名空間。更多信息,請參見命名空間的基本操作。
在頂部菜單欄,選擇所需地域。
在左側(cè)導(dǎo)航欄,選擇實(shí)例列表。
在實(shí)例列表頁面單擊個(gè)人版實(shí)例。
在個(gè)人版實(shí)例管理頁面選擇
。在鏡像倉庫頁面單擊創(chuàng)建鏡像倉庫。
在倉庫信息配置向?qū)е校O(shè)置命名空間、倉庫名稱、摘要和倉庫類型,本例選擇私有鏡像倉庫類型。然后單擊下一步。
在代碼源配置向?qū)е性O(shè)置代碼源、構(gòu)建設(shè)置、構(gòu)建規(guī)則設(shè)置,單擊創(chuàng)建鏡像倉庫。
參數(shù)
說明
代碼源
選擇代碼源,本文以選擇GitHub代碼為例。單擊GitHub,然后選擇命名空間和倉庫。
構(gòu)建設(shè)置
代碼變更時(shí)自動(dòng)構(gòu)建鏡像:當(dāng)分支有代碼提交后會(huì)自動(dòng)觸發(fā)構(gòu)建規(guī)則。
海外機(jī)器構(gòu)建:構(gòu)建時(shí)會(huì)在海外機(jī)房構(gòu)建,構(gòu)建成功后推送到指定地域。如果您構(gòu)建任務(wù)涉及的源代碼倉庫、容器鏡像倉庫等資源在中國內(nèi)地,建議您關(guān)閉海外機(jī)器構(gòu)建,使用中國內(nèi)地構(gòu)建。
不使用緩存:每次構(gòu)建鏡像時(shí)會(huì)強(qiáng)制重新拉取基礎(chǔ)依賴鏡像,可能會(huì)增加構(gòu)建時(shí)間。關(guān)閉不使用緩存,可以加速鏡像的構(gòu)建時(shí)間。
步驟三:設(shè)置構(gòu)建規(guī)則
如果您的鏡像倉庫管理頁面沒有構(gòu)建,說明綁定源代碼失敗,請參見步驟一重新綁定源代碼。
在頂部菜單欄,選擇所需地域。
在左側(cè)導(dǎo)航欄,選擇實(shí)例列表。
在實(shí)例列表頁面單擊個(gè)人版實(shí)例。
在個(gè)人版實(shí)例管理頁面選擇
。在鏡像倉庫頁面單擊目標(biāo)倉庫右側(cè)操作列中的管理。
在鏡像倉庫管理頁面左側(cè)導(dǎo)航欄單擊構(gòu)建,在構(gòu)建規(guī)則設(shè)置區(qū)域的左側(cè)單擊添加規(guī)則。
說明如需修改構(gòu)建規(guī)則,單擊目標(biāo)規(guī)則操作列中的修改。
在添加構(gòu)建規(guī)則對(duì)話框中設(shè)置構(gòu)建規(guī)則,然后單擊確定。
參數(shù)
說明
類型
設(shè)置源代碼倉庫的類型,可以是Branch或Tag。
Branch/Tag
設(shè)置構(gòu)建的代碼分支。
構(gòu)建上下文目錄
設(shè)置Dockerfile文件所在的目錄。指的是相對(duì)目錄,以Branch/Tag的根目錄為父目錄,例如您的Branch為Master,您的Dockerfile文件放在Master下,則您的Dockerfile目錄為Master/Dockerfile。
Dockerfile文件名
設(shè)置Dockerfile文件名,默認(rèn)為Dockerfile。
鏡像版本
設(shè)置鏡像Tag,例如latest。
步驟四:構(gòu)建鏡像
在頂部菜單欄,選擇所需地域。
在左側(cè)導(dǎo)航欄,選擇實(shí)例列表。
在實(shí)例列表頁面單擊個(gè)人版實(shí)例。
在個(gè)人版實(shí)例管理頁面選擇
。在鏡像倉庫頁面,單擊目標(biāo)倉庫右側(cè)操作列的管理。
在鏡像倉庫詳情頁面,單擊左側(cè)導(dǎo)航欄中的構(gòu)建。
在構(gòu)建規(guī)則設(shè)置區(qū)域,單擊目標(biāo)規(guī)則操作列中的立即構(gòu)建。
構(gòu)建完成后,生成新的構(gòu)建記錄。
說明單擊構(gòu)建記錄右側(cè)操作列下的日志,可以查看構(gòu)建日志。
等待鏡像構(gòu)建完成后,單擊左側(cè)菜單欄中的鏡像版本,查看已構(gòu)建完成的鏡像列表。
如果您需要查看所有鏡像,請單擊左側(cè)導(dǎo)航欄中的構(gòu)建,在構(gòu)建設(shè)置中開啟海外機(jī)器構(gòu)建和不使用緩存,默認(rèn)開啟代碼變更自動(dòng)構(gòu)建鏡像,然后單擊左側(cè)菜單欄中的鏡像版本,可以看到所有鏡像版本。