

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

# 將 CodeBuild 測試動作新增至管道 (CodePipeline 主控台）
<a name="how-to-create-pipeline-add-test"></a>

1. 使用 AWS 管理主控台 登入 ：
   + 您的 AWS 根帳戶。此為不建議的選項。如需詳細資訊，請參閱[《 使用者指南》中的帳戶根使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)。 **
   + 您 AWS 帳戶中的管理員使用者。如需詳細資訊，請參閱*《 使用者指南*》中的[建立您的第一個 AWS 帳戶 根使用者和群組](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)。
   + 您 AWS 帳戶中具有執行下列最低動作集之許可的使用者：

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. 在 https：//[https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home) 開啟 CodePipeline 主控台。

1. 在 AWS 區域選擇器中，選擇管道所在的 AWS 區域。這必須是支援 CodeBuild AWS 的區域。如需詳細資訊，請參閱 *Amazon Web Services 一般參考* 中的 [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region)。

1. 在 **Pipelines (管道)** 頁面上，選擇管道名稱。

1. 在管道詳細資訊頁面上，於 **Source (來源)** 動作中，選擇工具提示。記下 **Output artifact (輸出成品)** 的值 (例如，**MyApp**)。
**注意**  
此程序說明您如何在 **Source (來源)** 和 **Beta** 階段的測試階段內新增測試動作。若您希望將測試動作新增至其他地方，請將滑鼠指標停留在前方的動作上，然後記下 **Output artifact (輸出成品)** 的值。

1. 選擇**編輯**。

1. 緊接在 **Source (來源)** 階段之後，選擇 **Add stage (階段)**。
**注意**  
此程序說明如何於緊接在 **Source (來源)** 階段之後將測試階段新增至您的管道。若要將測試動作新增至現有的階段，請選擇階段中的 **Edit stage (編輯階段)** 圖示，然後跳到此程序的步驟 8。若要在別處新增測試階段，請在所需位置選擇 **Add stage (新增階段)**。  
![\[如何在來源階段後立即將測試階段新增至管道。\]](http://docs.aws.amazon.com/zh_tw/codebuild/latest/userguide/images/create-stage.png)

   

1. 針對 **Stage name (階段名稱)**，輸入測試階段的名稱 (例如，**Test**)。如果您選擇其他名稱，請在此程序中皆使用它。

1. 在選取的階段中，選擇 **Add action (新增動作)**。
**注意**  
此程序會說明如何在測試階段中新增測試動作。若要在別處新增測試動作，請在所需位置選擇 **Add action (新增動作)**。您可能必須先選擇您欲新增測試動作之現有階段內的 **Edit (編輯)**。

1. 在 **Edit action (編輯動作)** 中，針對 **Action name (動作名稱)**，輸入動作的名稱 (例如 **Test**)。如果您選擇其他名稱，請在此程序中皆使用它。

1. 對於**動作提供者**，在**測試**下，選擇 **CodeBuild**。

1. 如果您已有想要使用的建置專案，請在**專案名稱**中選擇建置專案的名稱，然後跳至此程序的下一個步驟。

   如果您需要建立新的 CodeBuild 組建專案，請遵循 中的指示[建立組建專案 (主控台)](create-project.md#create-project-console)並返回此程序。
**重要**  
如果您為 CodeBuild 專案啟用 Webhook，且該專案在 CodePipeline 中用作建置步驟，則會為每個遞交建立兩個相同的建置。一個建置會透過 Webhook 觸發，另一個則透過 CodePipeline 觸發。因為帳單是以每次組建為基礎，因此您將必須同時為兩次組建支付費用。因此，如果您使用的是 CodePipeline，建議您在 CodeBuild 中停用 Webhook。在 CodeBuild 主控台中，清除 **Webhook** 方塊。如需詳細資訊，請參閱[變更建置專案的設定 (主控台)](change-project.md#change-project-console)

1. 針對 **Input artifacts (輸入成品)**，選取您稍早在本程序中記下的 **Output artifact (輸出成品)** 值。

1. (選用) 若您希望測試動作產生輸出成品，並且也已將您的 Buildspec 適當設定完畢，則針對 **Output artifact (輸出成品)**，輸入您希望指派給輸出成品的值。

1. 選擇**儲存**。

1. 選擇 **Release change (版本變更)**。

1. 在管道執行成功之後，您便會取得測試結果。在管道**的測試**階段中，選擇 **CodeBuild** 超連結，以在 CodeBuild 主控台中開啟相關的組建專案頁面。

   

1. 在組建專案頁面上，於 **Build history (組建歷史記錄)** 中選擇 **Build run (組建執行)** 超連結。

1. 在建置執行頁面的**建置日誌**中，選擇**檢視整個日誌**超連結，以在 Amazon CloudWatch 主控台中開啟建置日誌。

1. 捲動組建日誌，檢視測試結果。