

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

# 在映像建置器中設定映像管道工作流程
<a name="pipeline-workflows"></a>

透過映像工作流程，您可以自訂管道執行的工作流程，以根據您的需求建置和測試映像。您定義的工作流程會在映像建置器工作流程架構的內容中執行。如需構成工作流程架構之階段的詳細資訊，請參閱 [管理映像建置器映像的建置和測試工作流程](manage-image-workflows.md)。

建置工作流程  
建置工作流程架構`Build`階段期間執行的工作流程。您只能為管道指定一個建置工作流程。或者，您可以完全略過建置來設定僅限測試的管道。

測試工作流程  
測試工作流程會在工作流程架構的`Test`階段執行。您可以為管道指定最多十個測試工作流程。如果您只希望管道建置，也可以完全略過測試。



## 定義測試工作流程的測試群組
<a name="pipeline-workflows-test-groups"></a>

測試工作流程是在測試群組中定義。您最多可以為管道執行十個測試工作流程。您可以決定要以特定順序執行測試工作流程，還是同時執行盡可能多的測試工作流程。它們的執行方式取決於您如何定義測試群組。下列案例示範多種您可以定義測試工作流程的方式。

**注意**  
如果您使用 主控台建立工作流程，我們建議您在定義測試群組之前，先花時間規劃如何執行測試工作流程。在 主控台中，您可以新增或移除測試工作流程和群組，但無法重新排序它們。

**案例 1：一次執行一個測試工作流程**  
若要一次執行一個所有測試工作流程，您最多可以設定 10 個測試群組，每個群組都有單一測試工作流程。測試群組會依您將其新增至管道的順序一次執行一個測試群組。這是確保您的測試工作流程一次以特定順序執行一個 的方法之一。

**案例 2：同時執行多個測試工作流程**  
如果順序不重要，而且您想要同時執行盡可能多的測試工作流程，您可以設定單一測試群組，並在其中放置測試工作流程的最大數量。Image Builder 會同時啟動最多五個測試工作流程，並在其他人完成時啟動其他測試工作流程。如果您的目標是盡快執行您的測試工作流程，這是這樣做的一種方法。

**案例 3：混合和比對**  
如果您有混合情況，有些測試工作流程可以同時執行，有些則應該一次執行，您可以設定測試群組來完成此目標。設定測試群組的唯一限制是可針對管道執行的測試工作流程數量上限

## 從主控台在映像建置器管道中設定工作流程參數
<a name="pipeline-workflow-set-params"></a>

工作流程參數的運作方式與建置工作流程和測試工作流程相同。當您建立或更新管道時，請選取要包含的建置和測試工作流程。如果您在工作流程文件中為所選工作流程定義參數，映像建置器會在**參數**面板中顯示它們。對於未定義參數的工作流程，面板會隱藏。

每個參數都會顯示工作流程文件定義的下列屬性：
+ **名稱** (*不可編輯*) – 參數的名稱。
+ **類型** (*不可編輯*) – 參數值的資料類型。
+ **值** – 參數的值。您可以編輯參數值來設定管道的參數值。

## 指定 Image Builder 用來執行工作流程動作的 IAM 服務角色
<a name="pipeline-workflow-service-role"></a>

若要執行映像工作流程，Image Builder 需要執行工作流程動作的許可。您可以指定[AWSServiceRoleForImageBuilder](security-iam-awsmanpol.md#sec-iam-manpol-AWSServiceRoleForImageBuilder)服務連結角色，也可以指定自己的自訂角色來存取服務，如下所示。
+ **主控台** – 在管道精靈**步驟 3 定義映像建立程序中**，從服務存取面板的 **IAM 角色**清單中選取服務連結角色或您自己的自訂角色。 ****
+ **映像建置器 API** – 在 [CreateImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateImage.html) 動作請求中，指定服務連結角色或您自己的自訂角色做為 `executionRole` 參數的值。

若要進一步了解如何建立服務角色，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[建立角色以將許可委派給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。