翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodePipeline コンセプト
AWS CodePipeline で使用される概念と用語を理解しておくと、自動リリースプロセスのモデリングおよび設定が容易になります。ここでは、 CodePipeline を使用する際に知っておかなければならないいくつかの概念を次に示します。
DevOps パイプラインの例については、を参照してくださいDevOps パイプラインの例。
CodePipelineでは以下の用語が使われています。
パイプライン
パイプラインは、ソフトウェアの変更がリリースプロセスをどのように通過するかを記述するワークフロー構造です。各パイプラインは一連のステージで構成されています。
ステージ
ステージは、環境を分離し、その環境での同時変更の数を制限するために使用できる論理ユニットです。各ステージには、アプリケーションアーティファクトに対して実行されるアクションが含まれます。ソースコードはアーティファクトの例です。ステージは、ソースコードが構築され、テストが実行されるビルドステージである場合もあれば、コードをランタイム環境にデプロイするデプロイステージの場合もあります。各ステージは、連続または並列のアクションで構成されています。
アクション
アクションは、アプリケーションコードに対して実行される一連の操作であり、アクションがパイプライン内で指定されたポイントで実行されるように設定されます。これには、コード変更によるソースアクション、インスタンスにアプリケーションをデプロイするためのアクションなどが含まれます。たとえば、デプロイステージには、 AWS Lambda や Amazon EC2 などのコンピューティングサービスにコードをデプロイするデプロイアクションが含まれている場合があります。
CodePipeline 有効なアクションタイプはsource
、build
、、test
、deploy
approval
、invoke
およびです。アクションプロバイダーのリストについては、「で有効なアクションタイプとプロバイダー CodePipeline 」を参照してください。
アクションは、直列または並列で実行できます。ステージ内のシリアルアクションとパラレルアクションの詳細については、アクション構造の要件 の runOrder
の情報を参照してください。
パイプライン実行
実行は、パイプラインによってリリースされる一連の変更です。各パイプライン実行は一意であり、独自の ID を持ちます。実行は、マージされたコミットや最新のコミットの手動リリースなど、一連の変更に対応します。2 つの実行では、同じ変更セットを異なる時間に解放できます。
パイプラインは同時に複数の実行を処理できますが、パイプラインステージは一度に 1 つの実行のみを処理します。これを行うために、ステージは実行を処理している間ロックされます。2 つのパイプライン実行は、同時に同じステージを占めることはできません。占有ステージに入るのを待つ実行は、インバウンドの実行 を参照してください。インバウンドの実行は、失敗したり、置き換えたり、手動で停止したりする可能性があります。インバウンドの実行の詳細については、「インバウンド実行の仕組み」を参照してください。
パイプラインの実行は、パイプラインのステージを順番に通過します。パイプラインの有効なステータスは、InProgress
、Stopping
、Stopped
、Succeeded
、Superseded
、Failed
です。
詳細については、を参照してくださいPipelineExecution。
停止された実行
パイプライン実行を手動で停止して、進行中のパイプライン実行がパイプラインを介して続行されないようにすることができます。手動で停止した場合、完全に停止するまでパイプライン実行には Stopping
ステータスが表示されます。次に、Stopped
ステータスが表示されます。Stopped
パイプラインの実行を再試行できます。
パイプラインの実行を停止する方法は 2 つあります。
-
[Stop and wait (停止して待機)]
-
[Stop and abandon (停止して中止)]
実行を停止するユースケースおよびこれらのオプションのシーケンスの詳細については、「パイプライン実行の停止方法」を参照してください 。
失敗した実行
実行が失敗した場合、実行は停止し、パイプラインを完全に通過しません。ステータスは FAILED
ステータスで、ステージはロック解除されます。より最近の実行が、追いついてロック解除されたステージに入り、ステージをロックすることができます。失敗した実行が置き換えられているか、再試行可能でない場合を除き、失敗した実行を再試行できます。
置き換えられた実行
パイプラインを介して最新の変更セットを配信するため、より新しい実行が、パイプラインを経由してすでに実行されている最新ではない実行をパスし、置き換えます。これが発生すると、古い実行は新しい実行に置き換えられます。実行は、ステージ間のポイントである特定の時点で、より最新の実行に置き換えることができます。
実行がロックされたステージに入るのを待っている場合、より新しい実行が追いつき、待機中の実行を置き換える可能性があります。より新しい実行はステージのロックが解除されるまで待機し、置き換えられた実行は SUPERSEDED
ステータスで停止します。パイプライン実行が置き換えられると、実行は停止し、パイプラインを完全に通過しません。このステージで置き換えられた後に、置き換えられた実行を再試行することはできません。
置き換えられた実行とロックされたステージの詳細については、「パイプライン実行の処理方法 」を参照してください。
ステージの実行
ある ステージの実行 とは、ステージ内のすべてのアクションを完了するプロセスです。ステージ実行の仕組みとロックされたステージの詳細については、 パイプライン実行の処理方法 を参照してください。
ステージの有効なステータスは次のとおりです。InProgress
、Stopping
、Stopped
、Succeeded
、および Failed
。失敗したステージが再試行可能でない限り、失敗したステージを再試行できます。詳細については、「」を参照してください。StageExecution
アクション実行
アクションの実行は、指定されたアーティファクトに対して動作する設定済みアクションを完了するプロセスです。これらは、入力アーティファクト、出力アーティファクト、またはその両方です。たとえば、ビルドアクションでは、アプリケーションのソースコードのコンパイルなど、入力アーティファクトに対してビルドコマンドを実行できます。アクション実行の詳細には、アクション実行 ID、関連するパイプライン実行ソーストリガー、アクションの入出力アーティファクトが含まれます。
アクションの有効なステータスは、 InProgress
、 Abandoned
、 Succeeded
、または Failed
です。詳細については、を参照してくださいActionExecution。
アクションタイプ
アクションタイプは、 CodePipelineで選択できる事前設定済みのアクションです。アクションタイプは、その所有者、プロバイダー、バージョン、およびカテゴリによって定義されます。アクションタイプには、パイプライン内のアクションタスクを完了するために使用されるカスタマイズされたパラメータが用意されています。
アクションタイプに基づいてパイプラインに統合できる、AWS のサービスおよびサードパーティの製品およびサービスの詳細については、を参照してください CodePipeline アクションタイプとの統合。
のアクションタイプでサポートされている統合モデルについては CodePipeline、を参照してください統合モデルのリファレンス。
サードパーティプロバイダがでアクションタイプを設定および管理する方法については CodePipeline、を参照してくださいアクションタイプの使用。
Transitions
トランジション は、パイプライン実行がパイプラインの次のステージに移動するポイントです。ステージのインバウンドトランジションを無効にして、実行がそのステージに入らないようにし、そのトランジションを有効にして実行を継続することができます。無効なトランジションで複数の実行が到着した場合、トランジションが有効になると、最新の実行だけが次のステージに進みます。つまり、トランジションが無効になっている間は、より新しい実行が待機中の実行よりも優先され、トランジションが有効になった後は継続する実行が優先されます。

アーティファクト
アーティファクトとは、パイプラインアクションによって処理されるアプリケーションのソースコード、構築されたアプリケーション、依存関係、定義ファイル、テンプレートなどのデータの集合を指します。アーティファクトは、いくつかのアクションによって生成され、他のアクションによって消費されます。パイプラインでは、アーティファクトは、アクション (入力アーティファクト) によって処理されるファイルのセットまたは完了したアクションの更新された出力 (出力アーティファクト) です。
アクションは出力を別のアクションに渡し、パイプラインアーティファクトバケットを使用してさらに処理します。 CodePipeline アーティファクトをアーティファクトストアにコピーし、そこでアクションがアーティファクトを取得します。アーティファクトの詳細については、「入力および出力アーティファクト」を参照してください。
ソースリビジョン
ソースコードを変更すると、新しいバージョンが作成されます。ソースリビジョンは、パイプライン実行をトリガーするソース変更のバージョンです。実行は、ソースのリビジョンのみを処理します。 GitHub CodeCommit およびリポジトリの場合、これがコミットです。S3 バケットまたはアクションの場合、これはオブジェクトバージョンです。
パイプライン実行
実行は、パイプラインによってリリースされる一連の変更です。各パイプライン実行は一意であり、独自の ID を持ちます。実行は、マージされたコミットや最新のコミットの手動リリースなど、一連の変更に対応します。2 つの実行では、同じ変更セットを異なる時間に解放できます。
パイプラインは同時に複数の実行を処理できますが、パイプラインステージは一度に 1 つの実行のみを処理します。これを行うために、ステージは実行を処理している間ロックされます。2 つのパイプライン実行は、同時に同じステージを占めることはできません。占有ステージに入るのを待つ実行は、インバウンドの実行 を参照してください。インバウンドの実行は、失敗したり、置き換えたり、手動で停止したりする可能性があります。インバウンドの実行の詳細については、「インバウンド実行の仕組み」を参照してください。
パイプラインの実行は、パイプラインのステージを順番に通過します。パイプラインの有効なステータスは、InProgress
、Stopping
、Stopped
、Succeeded
、Superseded
、Failed
です。
詳細については、「」を参照してくださいPipelineExecution。
停止された実行
パイプライン実行を手動で停止して、進行中のパイプライン実行がパイプラインを介して続行されないようにすることができます。手動で停止した場合、完全に停止するまでパイプライン実行には Stopping
ステータスが表示されます。次に、Stopped
ステータスが表示されます。Stopped
パイプラインの実行を再試行できます。
パイプラインの実行を停止する方法は 2 つあります。
-
[Stop and wait (停止して待機)]
-
[Stop and abandon (停止して中止)]
実行を停止するユースケースおよびこれらのオプションのシーケンスの詳細については、「パイプライン実行の停止方法」を参照してください 。
失敗した実行
実行が失敗した場合、実行は停止し、パイプラインを完全に通過しません。ステータスは FAILED
ステータスで、ステージはロック解除されます。より最近の実行が、追いついてロック解除されたステージに入り、ステージをロックすることができます。失敗した実行が置き換えられているか、再試行可能でない場合を除き、失敗した実行を再試行できます。
置き換えられた実行
パイプラインを介して最新の変更セットを配信するため、より新しい実行が、パイプラインを経由してすでに実行されている最新ではない実行をパスし、置き換えます。これが発生すると、古い実行は新しい実行に置き換えられます。実行は、ステージ間のポイントである特定の時点で、より最新の実行に置き換えることができます。
実行がロックされたステージに入るのを待っている場合、より新しい実行が追いつき、待機中の実行を置き換える可能性があります。より新しい実行はステージのロックが解除されるまで待機し、置き換えられた実行は SUPERSEDED
ステータスで停止します。パイプライン実行が置き換えられると、実行は停止し、パイプラインを完全に通過しません。このステージで置き換えられた後に、置き換えられた実行を再試行することはできません。
置き換えられた実行とロックされたステージの詳細については、「パイプライン実行の処理方法 」を参照してください。
ステージの実行
ある ステージの実行 とは、ステージ内のすべてのアクションを完了するプロセスです。ステージ実行の仕組みとロックされたステージの詳細については、 パイプライン実行の処理方法 を参照してください。
ステージの有効なステータスは次のとおりです。InProgress
、Stopping
、Stopped
、Succeeded
、および Failed
。詳細については、を参照してくださいStageExecution。
アクション実行
アクションの実行は、指定されたアーティファクトに対して動作する設定済みアクションを完了するプロセスです。これらは、入力アーティファクト、出力アーティファクト、またはその両方です。たとえば、ビルドアクションでは、アプリケーションのソースコードのコンパイルなど、入力アーティファクトに対してビルドコマンドを実行できます。アクション実行の詳細には、アクション実行 ID、関連するパイプライン実行ソーストリガー、アクションの入出力アーティファクトが含まれます。
アクションの有効なステータスは、 InProgress
、 Abandoned
、 Succeeded
、または Failed
です。詳細については、を参照してくださいActionExecution。
アクションタイプ
アクションタイプは、 CodePipelineで選択できる事前設定済みのアクションです。アクションタイプは、その所有者、プロバイダー、バージョン、およびカテゴリによって定義されます。アクションタイプには、パイプライン内のアクションタスクを完了するために使用されるカスタマイズされたパラメータが用意されています。
アクションタイプに基づいてパイプラインに統合できる、AWS のサービスおよびサードパーティの製品およびサービスの詳細については、を参照してください CodePipeline アクションタイプとの統合。
のアクションタイプでサポートされている統合モデルについては CodePipeline、を参照してください統合モデルのリファレンス。
サードパーティプロバイダがでアクションタイプを設定および管理する方法については CodePipeline、を参照してくださいアクションタイプの使用。
Transitions
トランジション は、パイプライン実行がパイプラインの次のステージに移動するポイントです。ステージのインバウンドトランジションを無効にして、実行がそのステージに入らないようにし、そのトランジションを有効にして実行を継続することができます。無効なトランジションで複数の実行が到着した場合、トランジションが有効になると、最新の実行だけが次のステージに進みます。つまり、トランジションが無効になっている間は、より新しい実行が待機中の実行よりも優先され、トランジションが有効になった後は継続する実行が優先されます。

トリガー
トリガーはパイプラインを開始するイベントです。パイプラインを手動で開始するなどの一部のトリガーは、パイプライン内のすべてのソースアクションプロバイダーで使用できます。一部のトリガーは、パイプラインのソースプロバイダーによって異なります。たとえば、 CloudWatch イベントは、イベントルールのターゲットとしてパイプライン ARN が追加された Amazon CloudWatch のイベントリソースを使用して設定する必要があります。 CloudWatch イベントは、 CodeCommit または S3 ソースアクションを含むパイプラインの自動変更検出のトリガーとして推奨されます。Webhook はサードパーティのリポジトリイベント用に設定されたトリガーの一種です。たとえば、WebHookV2 は、Git タグを使用して、 GitHub エンタープライズサーバー、クラウド GitHub、Bitbucket GitLab Cloud などのサードパーティのソースプロバイダーのパイプラインを開始できるようにするトリガータイプです。トリガーについての詳細は、「でパイプラインを開始する CodePipeline」を参照してください。パイプライン設定では、Git タグなどの特定の設定でトリガータイプを指定する設定に、オプションのトリガーパラメーターを指定できます。
Git タグをパイプラインのトリガーとして使用する手順を説明するチュートリアルについては、を参照してくださいチュートリアル:パイプラインレベルの変数を使用する。
注記
V2 タイプのパイプラインは、Git タグやパイプラインレベルの変数のトリガーとともに、現在の CDK リソースではサポートされていません。AWS CloudFormation CodePipelineV2 タイプのパイプラインの詳細については、「」を参照してください。パイプラインタイプ
アーティファクト
アーティファクトとは、パイプラインアクションによって処理されるアプリケーションのソースコード、構築されたアプリケーション、依存関係、定義ファイル、テンプレートなどのデータの集合を指します。アーティファクトは、いくつかのアクションによって生成され、他のアクションによって消費されます。パイプラインでは、アーティファクトは、アクション (入力アーティファクト) によって処理されるファイルのセットまたは完了したアクションの更新された出力 (出力アーティファクト) です。
アクションは出力を別のアクションに渡し、パイプラインアーティファクトバケットを使用してさらに処理します。 CodePipeline アーティファクトをアーティファクトストアにコピーし、そこでアクションがアーティファクトを取得します。アーティファクトの詳細については、「入力および出力アーティファクト」を参照してください。
ソースリビジョン
ソースコードを変更すると、新しいバージョンが作成されます。ソースリビジョンは、パイプライン実行をトリガーするソース変更のバージョンです。実行は、ソースのリビジョンのみを処理します。 GitHub CodeCommit およびリポジトリの場合、これがコミットです。S3 バケットまたはアクションの場合、これはオブジェクトバージョンです。
可変
変数は、パイプライン内のアクションを動的に設定するために使用できる値です。変数はパイプラインレベルで宣言することも、パイプライン内のアクションによって出力することもできます。変数値はパイプライン実行時に解決され、実行履歴で確認できます。パイプラインレベルで宣言された変数については、パイプライン設定でデフォルト値を定義するか、特定の実行に合わせてデフォルト値をオーバーライドできます。アクションによって生成された変数の場合、その値はアクションが正常に完了した後に使用可能になります。詳細については、「可変」を参照してください。
注記
V2 タイプのパイプラインは、Git タグやパイプラインレベルの変数のトリガーとともに、現在の CDK リソースではサポートされていません。AWS CloudFormation CodePipelineV2 タイプのパイプラインの詳細については、「」を参照してください。パイプラインタイプ