CodePipeline のユースケース - AWS CodePipeline

CodePipeline のユースケース

以下のセクションでは、CodePipeline のユースケースについて説明します。

CodePipeline のユースケース

他の AWS のサービス と統合するパイプラインを作成できます。これらは Amazon S3 や GitHub のようなサードパーティー製品の AWS のサービス です。このセクションは CodePipeline を使用して別の製品統合を使いコードリリースを自動化する場合の例を示しています。アクションタイプ別に整理した CodePipeline との統合の一覧は、CodePipeline パイプライン構造リファレンス を参照してください。

Amazon S3、AWS CodeCommit、AWS CodeDeploy で CodePipeline を使用する

パイプラインを作成すると、CodePipeline はパイプラインの各ステージでアクションプロバイダーとして作動する AWS 製品やサービスと統合します。ウィザードでステージを選択する場合は、ソースステージそしてビルドまたはデプロイステージを少なくても 1 つ選ぶ必要があります。ウィザードは変更することができないデフォルト名を使用してステージを作成します。こうしたステージの名前は、ウィザードで 3 つの完全なステージをセットアップした際に作成されたものです。

  • 「ソース」というデフォルト名を使用したソースアクションステージ

  • 「ビルド」というデフォルト名を使用したビルドアクションステージ

  • 「ステージング」というデフォルト名を使用したデプロイアクションステージ

このガイドのチュートリアルを使用してパイプラインを作成しステージを指定できます。

  • チュートリアル: シンプルなパイプラインを作成する (S3 バケット) のステップは、ウィザードを使用して Amazon S3 リポジトリがソースプロバイダーとなる「ソース」と「ステージング」という 2 つのデフォルトステージを含むパイプラインの作成をサポートします。このチュートリアルで AWS CodeDeploy を使用するパイプラインを作成し、Amazon Linux を実行している Amazon EC2 インスタンスに Amazon S3 バケットからのサンプルアプリケーションをデプロイすることができます。

  • チュートリアル: シンプルなパイプラインを作成する (CodeCommit リポジトリ) のステップは、ウィザードを使用し AWS CodeCommit リポジトリをソースプロバイダーとして利用する「ソース」ステージを使ったパイプラインの作成をサポートします。このチュートリアルで AWS CodeDeploy を使用するパイプラインを作成し、Amazon Linux を実行している Amazon EC2 インスタンスに AWS CodeCommit リポジトリからのサンプルアプリケーションをデプロイすることができます。

サードパーティーアクションプロバイダー (GitHub や Jenkins) で CodePipeline を使用する

GitHub や Jenkins といったサードパーティー製品と統合するパイプラインを作成できます。チュートリアル: 4 ステージのパイプラインを作成する のステップは、次の操作を実行するパイプラインの作成方法を示しています。

  • 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 インスタンスにコンテナベースのアプリケーションをデプロイできるようにします。Amazon ECS と CodePipeline を使用して、ソースイメージのリポジトリに変更があるたびにパイプラインを介してコンテナベースのアプリケーションのデプロイを継続的に実行できるようにするため、リビジョンの実行を自動化できます。詳細については、「チュートリアル: CodePipeline を使用した継続的なデプロイ」 を参照してください。

Elastic Beanstalk で CodePipeline を使用してクラウドにウェブアプリケーションを継続的にデリバリーする

Elastic Beanstalk はウェブサーバーでウェブアプリケーションとサービスをデプロイできるようにするコンピューティングサービスです。CodePipeline と Elastic Beanstalk を使用してアプリケーション環境でウェブアプリケーションを継続的にデプロイします。AWS CodeStar を使用して Elastic Beanstalk デプロイアクションでパイプラインを作成することもできます。

AWS Lambda で CodePipeline を使用して Lambda ベースアプリケーションとサーバーレスアプリケーションを継続的にデリバリーする

サーバーレスアプリケーションのデプロイで説明したように、CodePipelineと一緒に AWS Lambda 使用することで AWS Lambda 関数を呼び出します。AWS Lambda と AWS CodeStar を使用して、サーバーレスアプリケーションをデプロイするためのパイプラインを作成することもできます。

CloudFormation テンプレートで CodePipelineを使用してクラウドに継続的に配信する

CloudFormation を CodePipeline とともに使用して、継続的な配信と自動化を行うことができます。詳細については、「CodePipeline を使用した継続的配信」を参照してください。CloudFormation は、AWS CodeStar で作成されたパイプラインのテンプレート作成にも使用されます。