AWS CodePipeline​ 内に位置している
ユーザーガイド (API バージョン 2015-07-09)

このガイドの手順では、新しいコンソールデザインがサポートされています。古いバージョンのコンソールを選択すると、古い概念が反映され、本ガイドの基本的な手順がそのまま適用されます。新しいコンソールのヘルプにアクセスするには、情報アイコンを選択します。

AWS CodePipeline とは

AWS CodePipeline は、ソフトウェアをリリースするために必要な手順のモデル化、視覚化、および自動化に使用できる継続的な配信サービスです。ソフトウェアリリースプロセスのさまざまなステージをすばやくモデル化して設定できます。AWS CodePipeline は、ソフトウェアの変更を継続的にリリースするために必要なステップを自動化します。AWS CodePipeline の料金については、「料金表」を参照してください。

AWS CodePipeline の紹介ビデオ

この短いビデオ (3:06) では、定義したリリースプロセスモデルに基づいて、コード変更が発生するたびに AWS CodePipeline がコードをビルド、テスト、およびデプロイする方法について説明します。

AWS CodePipeline の機能

AWS CodePipeline を使用すると、アプリケーションをクラウドで自動的に構築、テスト、およびデプロイすることができます。具体的な内容は以下のとおりです。

  • リリースプロセスを自動化する: AWS CodePipeline は、ソースリポジトリからビルド、テスト、デプロイまで、リリースプロセスを完全に自動化します。ソースステージ以外の任意のステージで手動承認アクションを含めることで、パイプラインを通して変更が移動しないようにすることができます。選択したシステム上で、1 つのインスタンスまたは複数のインスタンス間で、必要に応じて自動的にリリースすることができます。

  • 一貫性のあるリリースプロセスを確立する: コードを変更するたびに実行される一貫性のあるステップを定義します。AWS CodePipeline はお客様の基準に従ってリリースの各ステージを実行します。

  • 品質を向上しながら配信を高速化: リリースプロセスを自動化して、開発者がコードを段階的にテストおよびリリースし、新しい機能のリリースを顧客に迅速に提供できるようにすることができます。

  • お好みのツールを使用: 既存のソース、ビルド、およびデプロイツールをパイプラインに組み込むことができます。現在 AWS CodePipeline でサポートされている AWS のサービスとサードパーティーのツールの完全なリストについては、「AWS CodePipeline による製品とサービスの統合」を参照してください。

  • 進捗状況を一目で見る: パイプラインのリアルタイムステータスの確認、アラート詳細の確認、失敗したアクションの再試行、各ステージで最新のパイプライン実行で使用されたソースリビジョンの詳細の表示、手動でのパイプラインの 再実行が可能です。

  • パイプライン履歴の詳細を表示: 開始時刻と終了時刻、継続時間、実行 ID など、パイプラインの実行の詳細を表示できます。

AWS CodePipeline のクイックルック

次の図は、AWS CodePipeline を使用したリリースプロセスの例を示しています。


                AWS CodePipeline を使用したリリースプロセスの例

この例では、開発者がソースリポジトリに変更をコミットすると、AWS CodePipeline は自動的に変更を検出します。これらの変更が作成され、テストが設定されている場合は、それらのテストが実行されます。テストが完了すると、ビルドされたコードがテスト用のステージングサーバーにデプロイされます。ステージングサーバーから、AWS CodePipeline は統合テストや読み込みテストなどの追加テストを実行します。これらのテストが正常に完了し、パイプラインに追加された手動承認アクションが承認された後、AWS CodePipeline はテスト済みと承認済みコードを本番稼働インスタンスにデプロイします。

AWS CodePipeline は、AWS CodeDeploy、AWS Elastic Beanstalk、または AWS OpsWorks Stacks を使用してアプリケーションを Amazon EC2 インスタンスにデプロイできます。AWS CodePipeline は、Amazon ECS を使用してコンテナベースのアプリケーションをサービスにデプロイすることもできます。開発者は、AWS CodePipeline で提供される統合ポイントを使用して、ビルドサービス、テストプロバイダー、その他のデプロイターゲットやシステムなど、他のツールやサービスをプラグインすることもできます。

パイプラインは、リリースプロセスが必要とするのと同じくらいシンプルでも複雑でもかまいません。

入出力アーティファクトの概要

AWS CodePipeline は、開発ツールと統合され、コード変更を自動的にチェックし、継続的な配信プロセスのすべての段階を経てビルドおよびデプロイします。

ステージでは、パイプラインの作成時に選択した Amazon S3 アーティファクトバケットに保存されている入出力アーティファクトが使用されます。AWS CodePipeline​ は、ステージのアクションタイプに応じて、入力または出力アーティファクトのファイルを圧縮して転送します。たとえば、ビルドアクションの開始時に、AWS CodePipeline は入力アーティファクト (ビルドするファイル) を取得し、ビルドアクションにアーティファクトを提供します。アクションが完了すると、AWS CodePipeline は出力アーティファクト (構築済みアプリケーション) を取り出し、次のステージで使用するために出力アーティファクトバケットに保存します。

[Create Pipeline] ウィザードを使用してステージを設定または選択する場合。

  1. AWS CodePipeline は、ソースリポジトリへのコミットがあると、[Source] ステージからの出力アーティファクトを渡して、パイプライン実行を自動的にトリガーします。

  2. 前のステップの出力アーティファクトは、入力アーティファクトとして [Build] ステージに取り込まれます。[Build] ステージからの出力アーティファクトは、更新されたアプリケーションまたはコンテナに構築された更新された Docker イメージにすることができます。

  3. 前のステップの出力アーティファクトは、AWS クラウドのステージング環境や本稼働環境など、[Deploy] ステージに入力アーティファクトとして取り込まれます。アプリケーションをデプロイのフリートにデプロイすることも、ECS クラスターで実行するタスクにコンテナベースのアプリケーションをデプロイすることもできます。

次の図は、AWS CodePipeline のステージ間の高レベルのアーティファクトワークフローを示しています。


                    AWS CodePipeline の高レベルなアーティファクトワークフロー

AWS CodePipeline の使用を開始するには

AWS CodePipeline の使用を開始するには

  1. AWS CodePipeline の概念」セクションを読んで、AWS CodePipeline の仕組みついて理解​します。

  2. AWS CodePipeline の使用開始」のステップに従って、AWS CodePipeline の使用について準備します。

  3. AWS CodePipeline のチュートリアル」チュートリアルのステップに従って、AWS CodePipeline を試します。

  4. AWS CodePipeline でパイプラインを作成する」のステップに従って、新規プロジェクトまたは既存プロジェクトに AWS CodePipeline を使用します。

ご意見をお待ちしております

ご意見をお待ちしております。お問い合わせの場合には、AWS CodePipeline フォーラムをご覧ください。