入力および出力アーティファクト - AWS CodePipeline

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

入力および出力アーティファクト

CodePipeline は、 開発ツールと統合してコードの変更をチェックし、継続的デリバリープロセスのすべての段階で構築およびデプロイします。アーティファクトは、パイプライン内のアクションによって処理されるファイルであり、アプリケーションコードが含まれるファイルやフォルダ、インデックスページファイル、スクリプトなどが該当します。例えば、Amazon S3 ソースアクションアーティファクトは、パイプラインソースアクション用にアプリケーションのソースコードファイルが提供されるファイル名 (またはファイルパス) であり、ファイルは通常、次のアーティファクト名の例のように ZIP ファイルとして提供されます: SampleApp_Windows.zip。ソースアクションの出力アーティファクトであるアプリケーションソースコードファイルは、ソースアクションからの出力アーティファクトであり、ビルドアクションなどの次のアクションの入力アーティファクトでもあります。別の例として、ビルドアクションでは、ソースアクションからのアプリケーションソースコードファイル (入力アーティファクト) に対して、アプリケーションソースコードをコンパイルするビルドコマンドを実行する場合があります。アクションの など、アーティファクトパラメータの詳細については、特定のアクションAWS CodeBuildの CodeBuild アクション設定リファレンスページを参照してください。

アクションは、pipeline. CodePipeline zips の作成時に選択した Amazon S3 アーティファクトバケットに保存されている入出力アーティファクトを使用し、ステージのアクションタイプに応じて入出力アーティファクトのファイルを転送します。

注記

アーティファクトバケットは、ソースアクションとして S3 が選択されているパイプラインのソースファイルの場所として使用されるバケットとは異なります。

例:

  1. CodePipeline は、ソースリポジトリにコミットがあるときにパイプラインをトリガーして実行し、ソースステージからの出力アーティファクト (構築されるファイル) を提供します。

  2. 前のステップの出力アーティファクト (ビルドする任意のファイル) は、ビルドステージに入力アーティファクトとして取り込まれます。ビルドステージからの出力アーティファクト (ビルドされたアプリケーション) は、更新されたアプリケーションまたは更新された Docker イメージ (コンテナへのビルド済み) である場合があります。

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

アクションを作成または編集するときは、アクションの入力および出力アーティファクトを指定します。例えば、ソースステージとデプロイステージを含む 2 ステージのパイプラインに対し、[アクションの編集] で、デプロイアクションの入力アーティファクトに対するソースアクションのアーティファクト名を選択します。

  • コンソールを使用して最初のパイプラインを作成すると、 は同じ と に Amazon S3 バケット CodePipeline を作成しAWS リージョン、すべてのパイプラインの項目を保存します。 AWS アカウントコンソールを使用してそのリージョンに別のパイプラインを作成するたびに、 はバケットにそのパイプラインのフォルダ CodePipeline を作成します。このフォルダを使用して、自動リリースプロセスの実行時にパイプラインのアイテムを格納します。このバケットは、codepipeline-region-12345EXAMPLE という名前です。ここで region はパイプラインを作成した AWS リージョンであり、12345EXAMPLE はバケット名が一意になるようにする 12 桁の乱数です。

    注記

    パイプラインを作成するリージョンに codepipeline-region で始まるバケットが既にある場合、 は CodePipeline それをデフォルトのバケットとして使用します。また、辞書式順序に従います。例えば、codepipeline-region-abcexample は、codepipeline-region-defexample の前に選択されます。

    CodePipeline はアーティファクト名を切り捨てます。これにより、一部のバケット名は類似しているように見えます。アーティファクト名が切り捨てられたように見えても、 は、名前が切り詰められたアーティファクトの影響を受けない方法でアーティファクトバケットに CodePipeline マッピングします。パイプラインは正常に動作します。これは、フォルダやアーティファクトでは問題となりません。パイプライン名には 100 文字の制限があります。アーティファクトフォルダ名は、短縮されたように見えても、パイプラインに対して依然として一意です。

    パイプラインを作成または編集する場合は、パイプライン AWS アカウント と AWS リージョン にアーティファクトバケットが必要です。また、アクションを実行する予定のリージョンごとに 1 つのアーティファクトバケットが必要です。コンソールを使用してパイプラインまたはクロスリージョンアクションを作成する場合は、アクションの作成先のリージョンにデフォルトのアーティファクトバケットが CodePipeline によって設定されます。

    AWS CLI を使用してパイプラインを作成する場合、そのバケットがパイプラインと同じ AWS アカウント と AWS リージョン にある限り、そのパイプラインのアーティファクトを任意の Amazon S3 バケットに保存できます。アカウントに許可されている Amazon S3 バケットの制限を超えることが懸念される場合は、これを行うことができます。AWS CLI を使用してパイプラインを作成または編集し、クロスリージョンアクション (パイプラインとは異なるリージョンにある AWS プロバイダーのアクション) を追加する場合は、アクションを実行する予定の追加のリージョンごとにアーティファクトバケットを指定する必要があります。

  • すべてのアクションには種類があります。種類に応じて、アクションは次のいずれかまたは両方を持つ場合があります。

    • アクションが実行されている間に消費または動作するアーティファクトである入力アーティファクト。

    • アクションの出力である出力アーティファクト。

    パイプラインの各出力アーティファクトには一意の名前が必要です。アクションのすべての入力アーティファクトは、そのアクションがステージのアクションの直前であるか、あるいはいくつか前のステージで実行されているかどうかにかかわらず、パイプラインの以前のアクションの出力アーティファクトと一致していなければなりません。

    アーティファクトは、複数のアクションによって処理することができます。