

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

# CodePipeline 使用案例
<a name="best-practices"></a>

下列各節說明 CodePipeline 的使用案例。

**Topics**
+ [CodePipeline 的使用案例](#use-cases)

## CodePipeline 的使用案例
<a name="use-cases"></a>

您可以建立與其他 整合的管道 AWS 服務。這些可以是 AWS 服務，例如 Amazon S3，或第三方產品，例如 GitHub。本節提供使用 CodePipeline 以使用不同產品整合自動發行程式碼的範例。如需依動作類型組織之 CodePipeline 整合的完整清單，請參閱 [CodePipeline 管道結構參考](reference-pipeline-structure.md)。

**Topics**
+ [搭配 Amazon S3 使用 CodePipeline AWS CodeCommit，以及 AWS CodeDeploy](#use-cases-S3-codedeploy)
+ [與第三方動作提供者 (GitHub 和 Jenkins) 搭配使用 CodePipeline](#use-cases-thirdparty)
+ [使用 CodePipeline 透過 CodeBuild 編譯、建置和測試程式碼](#use-cases-codebuild)
+ [將 CodePipeline 與 Amazon ECS 搭配使用，以持續將容器型應用程式交付至雲端](#use-cases-ecs)
+ [搭配 Elastic Beanstalk 使用 CodePipeline，持續將 Web 應用程式交付至雲端](#use-cases-elasticbeanstalk)
+ [使用 CodePipeline 搭配 AWS Lambda 持續交付 Lambda 型和無伺服器應用程式](#use-cases-lambda)
+ [搭配 CloudFormation 範本使用 CodePipeline，以持續交付至雲端](#use-cases-cloudformation)

### 搭配 Amazon S3 使用 CodePipeline AWS CodeCommit，以及 AWS CodeDeploy
<a name="use-cases-S3-codedeploy"></a>

當您建立管道時，CodePipeline 會與在管道的每個階段中充當動作提供者的 AWS 產品和服務整合。當您在精靈中選擇階段時，必須選擇來源階段以及至少建置或部署階段。此精靈會使用無法變更的預設名稱來建立階段。這些階段名稱是您在精靈中設定完整三階段管道時所建立：
+ 預設名稱為 "Source" 的來源動作階段。
+ 預設名稱為 "Build" 的建置動作階段。
+ 預設名稱為 "Staging" 的部署動作階段。

您可以使用本指南中的教學來建立管道並指定階段：
+ 中的步驟[教學：建立簡易管道 (S3 儲存貯體)](tutorials-simple-s3.md)可協助您使用精靈建立具有兩個預設階段的管道：「來源」和「預備」，其中 Amazon S3 儲存庫是來源提供者。本教學課程會建立管道，使用 AWS CodeDeploy 將範例應用程式從 Amazon S3 儲存貯體部署至執行 Amazon Linux 的 Amazon EC2 執行個體。
+ 中的步驟[教學課程：建立簡單的管道 (CodeCommit 儲存庫）](tutorials-simple-codecommit.md)可協助您使用精靈建立具有「來源」階段的管道，以使用您的 AWS CodeCommit 儲存庫做為來源提供者。本教學課程會建立管道，使用 AWS CodeDeploy 將範例應用程式從 AWS CodeCommit 儲存庫部署至執行 Amazon Linux 的 Amazon EC2 執行個體。

### 與第三方動作提供者 (GitHub 和 Jenkins) 搭配使用 CodePipeline
<a name="use-cases-thirdparty"></a>

您可以建立與第三方產品 (例如 GitHub 和 Jenkins) 整合的管道。[教學：建立四階段管道](tutorials-four-stage-pipeline.md)中的步驟顯示如何建立管道，以：
+ 從 GitHub 儲存庫取得來源碼、
+ 使用 Jenkins 建置和測試來源碼、
+ 使用 AWS CodeDeploy 將建置和測試的原始程式碼部署到執行 Amazon Linux 或 Microsoft Windows Server 的 Amazon EC2 執行個體。

### 使用 CodePipeline 透過 CodeBuild 編譯、建置和測試程式碼
<a name="use-cases-codebuild"></a>

CodeBuild 是雲端中的受管建置服務，可讓您在沒有伺服器或系統的情況下建置和測試程式碼。使用 CodePipeline 搭配 CodeBuild 來自動化透過管道執行修訂，以便在原始程式碼發生變更時持續交付軟體組建。 如需詳細資訊，請參閱[搭配使用 CodePipeline 搭配 CodeBuild 來測試程式碼並執行組建](https://docs.aws.amazon.com/codebuild/latest/userguide/how-to-create-pipeline.html)。

### 將 CodePipeline 與 Amazon ECS 搭配使用，以持續將容器型應用程式交付至雲端
<a name="use-cases-ecs"></a>

Amazon ECS 是一種容器管理服務，可讓您將容器型應用程式部署至雲端中的 Amazon ECS 執行個體。將 CodePipeline 與 Amazon ECS 搭配使用，以便在來源映像儲存庫發生變更時，透過管道自動執行修訂，以持續部署容器型應用程式。如需詳細資訊，請參閱[教學課程：使用 CodePipeline 持續部署](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html)。

### 搭配 Elastic Beanstalk 使用 CodePipeline，持續將 Web 應用程式交付至雲端
<a name="use-cases-elasticbeanstalk"></a>

Elastic Beanstalk 是一種運算服務，可讓您將 Web 應用程式和服務部署到 Web 伺服器。使用 CodePipeline 搭配 Elastic Beanstalk，將 Web 應用程式持續部署到您的應用程式環境。您也可以使用 AWS CodeStar 建立具有 Elastic Beanstalk 部署動作的管道。

### 使用 CodePipeline 搭配 AWS Lambda 持續交付 Lambda 型和無伺服器應用程式
<a name="use-cases-lambda"></a>

您可以 AWS Lambda 搭配 CodePipeline 使用 來叫用 AWS Lambda 函數，如[部署無伺服器應用程式](https://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html)中所述。您也可以使用 AWS Lambda 和 建立管道 AWS CodeStar 來部署無伺服器應用程式。

### 搭配 CloudFormation 範本使用 CodePipeline，以持續交付至雲端
<a name="use-cases-cloudformation"></a>

您可以 CloudFormation 搭配 CodePipeline 使用 來持續交付和自動化。如需詳細資訊，請參閱[使用 CodePipeline 持續交付](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline.html)。 CloudFormation 也用於為 中建立的管道建立範本 AWS CodeStar。