CodePipeline コンセプト - AWS CodePipeline

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CodePipeline コンセプト

AWS CodePipeline で使用される概念と用語を理解しておくと、自動リリースプロセスのモデリングおよび設定が容易になります。ここでは、CodePipeline を使用する際の知っておかなければならないくつかの概念を次に示します。

DevOps パイプラインの例については、「DevOps パイプラインの例」を参照してください。

パイプライン用語

CodePipeline では、次の用語が使用されます。

Pipelines

パイプラインは、ソフトウェアの変更がリリースプロセスをどのように通過するかを記述するワークフロー構造です。各パイプラインは一連のステージで構成されています。

Stages

ステージは、環境を分離し、その環境での同時変更の数を制限するために使用できる論理ユニットです。各ステージには、アプリケーションアーティファクトに対して実行されるアクションが含まれます。ソースコードはアーティファクトの例です。ステージは、ソースコードが構築され、テストが実行されるビルドステージである場合もあれば、コードをランタイム環境にデプロイするデプロイステージの場合もあります。各ステージは、連続または並列のアクションで構成されています。

Actions

アクションは、アプリケーションコードに対して実行される一連の操作であり、アクションがパイプライン内で指定されたポイントで実行されるように設定されます。これには、コード変更によるソースアクション、インスタンスにアプリケーションをデプロイするためのアクションなどが含まれます。たとえば、デプロイステージには、Amazon EC2 や、などのコンピューティングサービスにコードをデプロイするデプロイアクションが含まれている場合があります。AWS Lambda。

有効な CodePipeline アクションタイプはsource,build,test,deploy,approval, およびinvoke。アクションプロバイダーのリストについては、「CodePipeline での有効なアクションタイプとアクションプロバイダ 」を参照してください。

アクションは、連続または並行して実行できます。ステージ内のシリアルアクションとパラレルアクションの詳細については、runOrder内の 情報アクション構造の要件

パイプライン実行

実行は、パイプラインによってリリースされる一連の変更です。各パイプライン実行は一意であり、独自の ID を持ちます。実行は、マージされたコミットや最新のコミットの手動リリースなど、一連の変更に対応します。2 つの実行では、同じ変更セットを異なる時間に解放できます。

パイプラインは同時に複数の実行を処理できますが、パイプラインステージは一度に 1 つの実行のみを処理します。これを行うために、ステージは実行を処理している間ロックされます。2 つのパイプライン実行は、同時に同じステージを占めることはできません。占有ステージに入るのを待っている実行は、インバウンドの実行。インバウンド実行が失敗したり、置き換えられたり、手動で停止されたりする可能性があります。インバウンドの実行の仕組みの詳細については、「」を参照してください。インバウンド実行の仕組み

パイプラインの実行は、パイプラインのステージを順番に通過します。パイプラインの有効なステータスはInProgress,Stopping,Stopped,Succeeded,Superseded, およびFailed

詳細については、「」を参照してください。パイプライン実行

停止された実行

パイプライン実行を手動で停止して、進行中のパイプライン実行がパイプラインを介して続行されないようにすることができます。手動で停止した場合、完全に停止するまでパイプライン実行には Stopping ステータスが表示されます。次に、Stopped ステータスが表示されます。Stopped パイプラインの実行を再試行できます。

パイプラインの実行を停止する方法は 2 つあります。

  • [Stop and wait (停止して待機)]

  • [Stop and abandon (停止して中止)]

実行を停止するユースケースおよびこれらのオプションのシーケンスの詳細については、「パイプライン実行の停止方法」を参照してください 。

失敗した実行

実行が失敗した場合、実行は停止し、パイプラインを完全に通過しません。ステータスは FAILED ステータスで、ステージはロック解除されます。より最近の実行が、追いついてロック解除されたステージに入り、ステージをロックすることができます。失敗した実行が置き換えられているか、再試行可能でない場合を除き、失敗した実行を再試行できます。

置き換えられた実行

パイプラインを介して最新の変更セットを配信するため、より新しい実行が、パイプラインを経由してすでに実行されている最新ではない実行をパスし、置き換えます。これが発生すると、古い実行は新しい実行に置き換えられます。実行は、ステージ間のポイントである特定の時点で、より最新の実行に置き換えることができます。

実行がロックされたステージに入るのを待っている場合、より新しい実行が追いつき、待機中の実行を置き換える可能性があります。より新しい実行はステージのロックが解除されるまで待機し、置き換えられた実行は SUPERSEDED ステータスで停止します。パイプライン実行が置き換えられると、実行は停止し、パイプラインを完全に通過しません。このステージで置き換えられた後に、置き換えられた実行を再試行することはできません。

置き換えられた実行とロックされたステージの詳細については、「パイプライン実行の処理方法 」を参照してください。

ステージの実行

Aステージの実行は、ステージ内のすべてのアクションを完了するプロセスです。ステージ実行のしくみ、ロックされたステージに関する情報については、パイプライン実行の処理方法

ステージの有効なステータスはInProgress,Stopping,Stopped,Succeeded, およびFailed。詳細については、「」を参照してください。ステージ実行

アクション実行

アクションの実行は、指定されたアーティファクトに対して動作する設定済みアクションを完了するプロセスです。これらは、入力アーティファクト、出力アーティファクト、またはその両方です。たとえば、ビルドアクションでは、アプリケーションのソースコードのコンパイルなど、入力アーティファクトに対してビルドコマンドを実行できます。アクション実行の詳細には、アクション実行 ID、関連するパイプライン実行ソーストリガー、アクションの入出力アーティファクトが含まれます。

アクションの有効なステータスはInProgress,Abandoned,Succeeded, またはFailed。詳細については、「」を参照してください。ActionExecution

アクションタイプ

アクションタイプは、CodePipeline で選択できる事前設定されたアクションです。アクションタイプは、所有者、プロバイダ、バージョン、およびカテゴリによって定義されます。アクションタイプには、パイプラインのアクションタスクを完了するために使用されるカスタマイズされたパラメータが用意されています。

の詳細については、「」を参照してください。AWSアクションの種類に基づいてパイプラインに統合できるサービスや、そのサードパーティ製品およびサービスの詳細については、「」CodePipeline アクションタイプとの統合

CodePipeline のアクションタイプでサポートされている統合モデルの詳細については、統合モデルのリファレンス

CodePipeline でサードパーティプロバイダーがどのようにアクションタイプを設定および管理できるかについては、アクションタイプの操作

Transitions

トランジション は、パイプライン実行がパイプラインの次のステージに移動するポイントです。ステージのインバウンドトランジションを無効にして、実行がそのステージに入らないようにし、そのトランジションを有効にして実行を継続することができます。無効なトランジションで複数の実行が到着した場合、トランジションが有効になると、最新の実行だけが次のステージに進みます。つまり、トランジションが無効になっている間は、より新しい実行が待機中の実行よりも優先され、トランジションが有効になった後は継続する実行が優先されます。


          パイプラインには、アクションを含むステージがあり、無効や有効にできるトランジションによって区切られています。

Artifacts

アーティファクトとは、パイプラインアクションによって処理されるアプリケーションのソースコード、構築されたアプリケーション、依存関係、定義ファイル、テンプレートなどのデータの集合を指します。アーティファクトは、いくつかのアクションによって生成され、他のアクションによって消費されます。パイプラインでは、アーティファクトは、アクション (入力アーティファクト) によって処理されるファイルのセットまたは完了したアクションの更新された出力 (出力アーティファクト) です。

アクションは、パイプラインアーティファクトバケットを使用してさらに処理するために、出力を別のアクションに渡します。CodePipeline はアーティファクトストアにアーティファクトをコピーし、このアーティファクトストアはそこでアクションによりピックアップされます。アーティファクトの詳細については、「入力および出力アーティファクト」を参照してください。

ソースリビジョン

ソースコードを変更すると、新しいバージョンが作成されます。ソースリビジョンは、パイプライン実行をトリガーするソース変更のバージョンです。実行は、ソースのリビジョンのみを処理します。GitHub および CodeCommit リポジトリの場合は、コミットメッセージです。S3 バケットまたはアクションの場合、これはオブジェクトバージョンです。