本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CodePipeline 最佳實務和使用案例
下列各節說明 的最佳實務 CodePipeline。
的使用案例 CodePipeline
您可以建立與其他 整合的管道 AWS 服務。這些可以是 AWS 服務,例如 Amazon S3,或第三方產品,例如 GitHub。本節提供使用 的範例 CodePipeline ,以使用不同的產品整合來自動化程式碼版本。如需依動作類型 CodePipeline 組織之 整合的完整清單,請參閱 CodePipeline 管道結構參考。
主題
- CodePipeline 搭配 Amazon S3 使用 AWS CodeCommit,以及 AWS CodeDeploy
- CodePipeline 與第三方動作提供者 (GitHub 和 Jenkins) 搭配使用
- 使用 CodePipeline 編譯、建置和測試程式碼 CodeBuild
- CodePipeline 搭配 Amazon 使用ECS,將容器型應用程式持續交付至雲端
- CodePipeline 搭配 Elastic Beanstalk 使用,持續將 Web 應用程式交付至雲端
- CodePipeline 搭配 使用 AWS Lambda ,以持續交付 Lambda 型和無伺服器應用程式
- CodePipeline 搭配 AWS CloudFormation 範本使用,以持續交付至雲端
CodePipeline 搭配 Amazon S3 使用 AWS CodeCommit,以及 AWS CodeDeploy
當您建立管道時, 會與在管道的每個階段擔任動作提供者的 AWS 產品和服務 CodePipeline 整合。當您在精靈中選擇階段時,必須選擇來源階段以及至少建置或部署階段。此精靈會使用無法變更的預設名稱來建立階段。這些階段名稱是您在精靈中設定完整三階段管道時所建立:
-
預設名稱為 "Source" 的來源動作階段。
-
預設名稱為 "Build" 的建置動作階段。
-
預設名稱為 "Staging" 的部署動作階段。
您可以使用本指南中的教學來建立管道並指定階段:
-
中的步驟教學:建立簡易管道 (S3 儲存貯體)可協助您使用精靈建立具有兩個預設階段的管道:「來源」和「預備」,其中 Amazon S3 儲存庫是來源提供者。本教學課程會建立管道,用來 AWS CodeDeploy 將範例應用程式從 Amazon S3 儲存貯體部署至執行 Amazon Linux 的 Amazon EC2執行個體。
-
中的步驟教學課程:建立簡單的管道 (CodeCommit 儲存庫)可協助您使用精靈建立具有「來源」階段的管道,該階段使用您的 AWS CodeCommit 儲存庫作為來源提供者。本教學課程會建立管道,用來 AWS CodeDeploy 將範例應用程式從 AWS CodeCommit 儲存庫部署到執行 Amazon Linux 的 Amazon EC2執行個體。
CodePipeline 與第三方動作提供者 (GitHub 和 Jenkins) 搭配使用
您可以建立與第三方產品整合的管道,例如 GitHub 和 Jenkins。教學:建立四階段管道中的步驟顯示如何建立管道,以:
-
從 GitHub 儲存庫取得原始程式碼、
-
使用 Jenkins 建置和測試來源碼、
-
使用 AWS CodeDeploy 將建置且經過測試的原始程式碼部署至執行 Amazon Linux 或 Microsoft Windows Server 的 Amazon EC2執行個體。
使用 CodePipeline 編譯、建置和測試程式碼 CodeBuild
CodeBuild 是雲端中的受管建置服務,可讓您在沒有伺服器或系統的情況下建置和測試程式碼。 CodePipeline 搭配 使用 CodeBuild 可自動執行修訂,以便在原始程式碼變更時持續交付軟體建置。如需詳細資訊,請參閱 CodePipeline 搭配 使用 CodeBuild 測試程式碼並執行建置 。
CodePipeline 搭配 Amazon 使用ECS,將容器型應用程式持續交付至雲端
Amazon ECS 是一種容器管理服務,可讓您將容器型應用程式部署到雲端中的 Amazon ECS執行個體。 CodePipeline 搭配 Amazon 使用 ECS可自動透過管道執行修訂,以便在來源映像儲存庫發生變更時持續部署容器型應用程式。如需詳細資訊,請參閱教學課程:使用 持續部署 CodePipeline。
CodePipeline 搭配 Elastic Beanstalk 使用,持續將 Web 應用程式交付至雲端
Elastic Beanstalk 是一種運算服務,可讓您將 Web 應用程式和服務部署到 Web 伺服器。 CodePipeline 與 Elastic Beanstalk 搭配使用,以將 Web 應用程式持續部署到您的應用程式環境。您也可以使用 AWS CodeStar 建立具有 Elastic Beanstalk 部署動作的管道。
CodePipeline 搭配 使用 AWS Lambda ,以持續交付 Lambda 型和無伺服器應用程式
您可以使用 AWS Lambda 搭配 CodePipeline 來叫用 AWS Lambda 函數,如部署無伺服器應用程式 中所述。您也可以使用 AWS Lambda 和 建立管道 AWS CodeStar 來部署無伺服器應用程式。
CodePipeline 搭配 AWS CloudFormation 範本使用,以持續交付至雲端
您可以使用 AWS CloudFormation 搭配 CodePipeline 進行持續交付和自動化。如需詳細資訊,請參閱使用 . 的持續交付 CodePipeline AWS CloudFormation ,也用於建立在 中建立之管道的範本 AWS CodeStar。