

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

# 入力および出力アーティファクト
<a name="welcome-introducing-artifacts"></a>

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

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

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

例えば、次のようになります。

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

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

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

アクションを作成または編集するときは、アクションの入力および出力アーティファクトを指定します。例えば、**ソース**ステージと**デプロイ**ステージを含む 2 ステージのパイプラインに対し、[**アクションの編集**] で、デプロイアクションの入力アーティファクトに対するソースアクションのアーティファクト名を選択します。
+ コンソールを使用して最初のパイプラインを作成する AWS アカウント と、CodePipeline は同じ に Amazon S3 バケットを作成し 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 プロバイダーとのアクション) を追加する場合は、アクションを実行する予定の追加のリージョンごとにアーティファクトバケットを指定する必要があります。
+ すべてのアクションには種類があります。種類に応じて、アクションは次のいずれかまたは両方を持つ場合があります。
  + アクションが実行されている間に消費または動作するアーティファクトである入力アーティファクト。
  + アクションの出力である出力アーティファクト。

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

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