CodePipeline コンセプト - AWS CodePipeline

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

CodePipeline コンセプト

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

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

パイプライン用語

では以下の用語が使用されています CodePipeline:

パイプライン

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

ステージ

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

アクション

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

CodePipeline 有効なアクションタイプはsourcebuildtestdeployapprovalinvokeです。アクションプロバイダーのリストについては、「CodePipeline での有効なアクションタイプとアクションプロバイダー 」を参照してください。

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

パイプライン実行

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

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

パイプラインの実行は、パイプラインのステージを順番に通過します。パイプラインの有効なステータスは、InProgressStoppingStoppedSucceededSupersededFailed です。

詳細については、を参照してくださいPipelineExecution

停止された実行

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

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

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

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

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

失敗した実行

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

置き換えられた実行

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

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

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

ステージの実行

ある ステージの実行 とは、ステージ内のすべてのアクションを完了するプロセスです。ステージ実行の仕組みとロックされたステージの詳細については、 パイプライン実行の処理方法 を参照してください。

ステージの有効なステータスは次のとおりです。InProgressStoppingStoppedSucceeded、および Failed。詳細については、「」を参照してくださいStageExecution

アクション実行

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

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

アクションタイプ

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

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

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

サードパーティープロバイダーが、アクションタイプを設定および管理する方法については CodePipeline、「」を参照してくださいアクションタイプの使用

Transitions

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


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

アーティファクト

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

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

ソースリビジョン

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