

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從 建立容器映像管道 AWS CLI
<a name="cli-create-container-pipeline"></a>

若要從 建立映像管道 AWS CLI，請使用適用於管道的組態選項來執行 **create-image-pipeline**命令。您可以選擇建立包含所有管道組態的 JSON 檔案，或在執行時間指定組態。本節使用 JSON 組態檔案方法來簡化命令。

管道建置新映像以納入基礎映像和元件中任何待定更新的頻率取決於`schedule`您設定的 。`schedule` 具有下列屬性：
+ `scheduleExpression` – 設定管道執行時間的排程，以評估 `pipelineExecutionStartCondition` 並判斷是否應啟動建置。排程是以 cron 表達式設定。如需如何在 Image Builder 中格式化 cron 表達式的詳細資訊，請參閱 [在映像建置器中使用 Cron 表達式](cron-expressions.md)。
+ `pipelineExecutionStartCondition` – 判斷您的管道是否應該啟動建置。有效值包含：
  + `EXPRESSION_MATCH_ONLY` – 每次 Cron 表達式符合目前時間時，您的管道都會建立新的映像。
  + `EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE` – 除非基礎映像或元件有待定的變更，否則您的管道不會啟動新的映像建置。

當您在 中執行 **create-image-pipeline**命令時 AWS CLI，許多組態資源都是選用的。不過，根據管道建立的影像類型，有些資源有條件需求。容器映像管道需要下列資源：
+ 容器配方 ARN
+ 基礎設施組態 ARN

如果您在執行 **create-image-pipeline** 命令時未包含分佈組態資源，則輸出映像會存放在 ECR 儲存庫中，而您指定的 ECR 儲存庫是您執行命令的區域中的容器配方中的目標儲存庫。如果您包含管道的分佈組態資源，則會使用您為分佈中的第一個區域指定的目標儲存庫。

1. 

**建立 CLI 輸入 JSON 文件**

   使用您最愛的檔案編輯工具建立具有下列索引鍵的 JSON 檔案，以及適用於您環境的值。此範例使用名為 `create-image-pipeline.json` 的檔案：

   ```
   {
   	"name": "MyWindows2019Pipeline",
   	"description": "Builds Windows 2019 Images",
   	"enhancedImageMetadataEnabled": true,
   	"containerRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:container-recipe/my-example-recipe/2020.12.03",
   	"infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration",
   	"distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration",
   	"imageTestsConfiguration": {
   		"imageTestsEnabled": true,
   		"timeoutMinutes": 60
   	},
   	"schedule": {
   		"scheduleExpression": "cron(0 0 * * SUN *)",
   		"pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
   	},
   	"status": "ENABLED"
   }
   ```
**注意**  
您必須在 JSON 檔案路徑的開頭包括 `file://` 標記。
JSON 檔案的路徑應遵循執行命令之基礎作業系統的適當慣例。例如，Windows 使用反斜線 (\$1) 來參考目錄路徑，而 Linux 和 macOS 則使用正斜線 (/)。

1. 使用您建立做為輸入的檔案，執行下列命令。

   ```
   aws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json
   ```