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 フォーラム」を参照してください。