本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Image Builder 立自訂元件
完成元件文件之後,您可以使用它來建立 Image Builder 方法可以使用的自訂元件。您可以從 Image Builder 主控台SDKs、API或從命令列建立自訂元件。如需如何使用輸入參數建立自訂元件並在方法中使用它的詳細資訊,請參閱教學課程:使用輸入參數建立自訂元件。
下列各節說明如何從主控台或 AWS CLI.
從主控台建立自訂元件
若要建立 AWS TOE Image Builder 主控台的應用程式元件,請依照下列步驟執行
-
在開啟映 EC2 Image Builder 主控台https://console.aws.amazon.com/imagebuilder/
。 -
從導覽窗格中選取 [元件]。然後選取「建立元件」。
-
在 [建立元件] 頁面的 [元件詳細資訊] 底下,輸入下列內容:
-
映像作業系統 (OS)。指定元件相容的作業系統。
-
元件類別。從下拉式清單中,選取您要建立的組建或測試元件類型。
-
元件名稱。輸入元件的名稱。
-
元件版本。輸入元件的版本號碼。
-
描述。提供可選描述以協助您識別元件。
-
變更說明。提供選擇性描述,以協助您瞭解對此版本元件所做的變更。
-
-
在「定義文件」區段中,預設選項為「定義文件內容」。元件文件會定義 Image Builder 在組建和測試執行個體上執行的動作,以建立映像檔。
在「內容」方塊中,輸入YAML元件文件內容。若要從 Linux 的「你好世界」範例開始,請選擇「使用範例」選項。若要深入瞭解如何建立YAML元件文件,或從該頁面複製並貼上 UpdateOS 範例,請參閱在 Image Builder 生器中為自訂YAML元件建立元件文件。
-
輸入元件詳細資訊之後,請選取建立元件。
注意
若要在建立或更新方案時查看新元件,請將 [我擁有] 篩選器套用至組建或測試元件清單。篩選器位於元件清單頂端,位於搜尋方塊旁邊。
-
若要刪除元件,請從「元件」頁面選取要刪除之元件旁邊的核取方塊。從動作下拉式清單中,選取刪除元件。
更新元件
若要建立新的元件版本,請依照下列步驟執行:
-
根據您從哪裡開始:
-
從 [元件] 清單頁面 — 選取元件名稱旁的核取方塊,然後從 [動作] 功能表中選取 [建立新版本]。
-
從元件詳細資訊頁面 — 選擇標題右上角的 [建立新版本] 按鈕。
-
-
顯示「建立元件」頁面時,元件資訊已填入目前的值。遵循建立元件步驟來更新元件。這可確保您在元件版本中輸入唯一的語意版本。若要進一步瞭解 Image Builder 資源的語意版本控制,請參閱Image Builder 中的語義版本。
從中建立自訂元件 AWS CLI
在本節中,您將學習如何設定和使用 Image Builder 指令 AWS CLI 以建立 AWS TOE 應用程式元件,如下所示。
-
將您的YAML元件文件上傳到 S3 儲存貯體,您可以從命令列參考該儲存貯體。
-
創建 AWS TOE 應用程序組件與create-component命令。
-
使用list-components指令和名稱篩選列示元件版本,以查看已存在的版本。您可以使用輸出來確定下一個版本應該是什麼更新。
若要建立 AWS TOE 來自輸入YAML文檔的應用程序組件,請遵循與您的圖像操作系統平台匹配的步驟。
AWS TOE 更新的元件版本控制 AWS CLI
AWS TOE 元件名稱和版本內嵌在元件的 Amazon 資源名稱 (ARN) 中,在元件前置詞之後。元件的每個新版本都有其獨一無二的ARN。建立新版本的步驟與建立新元件的步驟完全相同,只要語意版本對該元件名稱而言是唯一的。若要進一步瞭解 Image Builder 資源的語意版本控制,請參閱Image Builder 中的語義版本。
若要確保您指派下一個邏輯版本,請先取得要變更之元件的現有版本清單。使用list-components指令搭配 AWS CLI,並篩選名稱。
在此範例中,您會篩選先前 Linux 範例中建立的元件名稱。若要列示您建立的元件,請使用您在create-component指令中使用的JSON檔案中的name
參數值。
aws imagebuilder list-components --filters name="name",values="
update-linux-os
"{ "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e", "componentVersionList": [ { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.0", "name": "update-linux-os", "version": "1.0.0", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2020-09-24T16:58:24.444Z" }, { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.1", "name": "update-linux-os", "version": "1.0.1", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2021-07-10T03:38:46.091Z" } ] }
根據您的結果,您可以確定下一個版本應該是什麼。
匯入指令集以建立元件 AWS CLI
在某些情況下,使用預先存在的指令碼開始可能會比較容易。在這個案例中,您可以使用下列範例。
此範例假設您有一個名為
(如圖所示) 的檔案。請注意,檔案會直接參考已上傳至import-component.json
AdminConfig.ps1
的名為的 PowerShell 指令碼
。目前amzn-s3-demo-source-bucket
SHELL
,該組件支持format
。
{ "name": "
MyImportedComponent
", "semanticVersion": "1.0.0", "description": "An example of how to import a component
", "changeDescription": "First commit message.
", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://amzn-s3-demo-source-bucket
/AdminConfig.ps1
", "kmsKeyId": "arn:aws:kms:us-west-:key/
2:123456789012
60763706-b131-418b-8f85-3420912f020c
" }
若要從匯入的指令碼建立元件,請執行下列命令。
aws imagebuilder import-component --cli-input-json file://
import-component.json