AWS CodeBuild - AWS CodePipeline

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

AWS CodeBuild

パイプラインの一部としてビルドとテストを実行できます。CodeBuild ビルドまたはテストアクションを実行すると、ビルド仕様で指定されたコマンドが CodeBuild コンテナ内で実行されます。CodeBuild アクションへの入力アーティファクトとして指定されたすべてのアーティファクトは、コマンドを実行するコンテナ内で使用できます。CodeBuild は、ビルドまたはテストアクションのいずれかを提供できます。詳細については、AWS CodeBuild ユーザーガイドを参照してください。

コンソールで CodePipeline ウィザードを使用してビルドプロジェクトを作成すると、CodeBuild ビルドプロジェクトにはソースプロバイダーが CodePipeline と表示されます。CodeBuild コンソールでビルドプロジェクトを作成する場合、CodePipeline をソースプロバイダーとして指定することはできませんが、ビルドアクションをパイプラインに追加すると、CodeBuild コンソールでソースが調整されます。詳細については、「」を参照してください。プロジェクトソース()AWS CodeBuildAPI リファレンス

アクションの種類

  • カテゴリ: Build または Test

  • 所有者: AWS

  • プロバイダー: CodeBuild

  • バージョン: 1

設定パラメータ

ProjectName

必須 はい

ProjectNameは、CodeBuild のビルドプロジェクトの名前です。

PrimarySource

必須 条件付き

の値PrimarySourceパラメーターは、アクションへの入力アーティファクトの 1 つの名前である必要があります。CodeBuild はビルド仕様ファイルを探し、このアーティファクトの解凍バージョンを含むディレクトリでビルド仕様コマンドを実行します。

このパラメータは、CodeBuild アクションに複数の入力アーティファクトが指定されている場合に必要です。アクションのソースアーティファクトが 1 つだけの場合、PrimarySource アーティファクトはデフォルトでそのアーティファクトになります。

バッチ使用可能

必須 いいえ

のブール値BatchEnabledパラメーターを使用すると、アクションが同じビルド実行で複数のビルドを実行できます。

このオプションを有効にすると、CombineArtifactsオプションを使用できます。

バッチビルドが有効なパイプラインの例については、CodeBuildとバッチビルドとのコードパイプラインの統合

CombineArtifacts

必須 いいえ

のブール値CombineArtifactsパラメーターは、バッチビルドからのすべてのビルドアーティファクトを、ビルドアクションの 1 つのアーティファクトファイルに結合します。

このオプションを使用するには、BatchEnabledパラメーターを有効にする必要があります。

EnvironmentVariables

必須 いいえ

このパラメータの値は、パイプラインの CodeBuild アクションの環境変数を設定するために使用されます。EnvironmentVariables パラメータの値は、環境変数オブジェクトの JSON 配列の形式をとります。「アクションの宣言 (CodeBuild の例)」のパラメータ例を参照してください。

各オブジェクトには 3 つの部分があり、それらはすべて文字列です。

  • name: 環境変数の名前またはキー。

  • value: 環境変数の値。を使用する場合PARAMETER_STOREまたはSECRETS_MANAGER型の場合、この値は、に保存済みのパラメータの名前である必要がありますAWSSystems Manager のパラメータストアまたは既に格納されているシークレットAWSそれぞれSecrets Manager。

    注記

    機密情報、特に特に保存する場合には、環境変数を使用しないことを強くお勧めしますAWSシークレットキー ID とシークレットアクセスキー。CodeBuild コンソールまたはAWSCLI の場合、環境変数はプレーンテキストで表示されます。機密の値の場合は、代わりに SECRETS_MANAGER タイプを使用することをお勧めします。

  • type: (任意) 環境変数の型。有効な値は PARAMETER_STORESECRETS_MANAGER、または PLAINTEXT です。指定しない場合、この値はデフォルトで PLAINTEXT になります。

注記

入力すると、name,value, およびtype環境変数設定の場合 (特に環境変数に CodePipeline 出力変数の構文が含まれている場合) は、設定の値フィールドの 1000 文字制限を超えないようにしてください。この制限を超えると、検証エラーが返されます。

詳細については、「EnvironmentVariable」を参照してください。

入力アーティファクト

  • アーティファクトの数: 1 to 5

  • 説明: CodeBuild はビルド仕様ファイルを探し、プライマリソースアーティファクトのディレクトリからビルド仕様コマンドを実行します。CodeBuild アクションに複数の入力ソースが指定されている場合、このアーティファクトはPrimarySourceアクション構成パラメーターCodePipeline。

    各入力アーティファクトは独自のディレクトリに抽出され、その場所は環境変数に保存されます。プライマリソースアーティファクトのディレクトリは $CODEBUILD_SRC_DIR で使用できるようになります。他のすべての入力アーティファクトのディレクトリは、$CODEBUILD_SRC_DIR_yourInputArtifactName で使用できるようになります。

    注記

    CodeBuild プロジェクトで設定されたアーティファクトは、パイプラインの CodeBuild アクションで使用される入力アーティファクトになります。

出力アーティファクト

  • アーティファクトの数: 0 to 5

  • 説明: これらは、CodeBuild ビルド仕様ファイルで定義されたアーティファクトを、パイプラインの後続のアクションで使用できるようにするために使用できます。出力アーティファクトが 1 つだけ定義されている場合、このアーティファクトはビルド仕様ファイルの artifacts セクションの直下で定義できます。複数の出力アーティファクトを指定する場合、参照されるすべてのアーティファクトは、ビルド仕様ファイルでセカンダリアーティファクトとして定義する必要があります。CodePipeline の出力アーティファクトの名前は、ビルド仕様ファイルのアーティファクト識別子と一致する必要があります。

    注記

    CodeBuild プロジェクトで設定されたアーティファクトは、パイプラインアクションの CodePipeline 入力アーティファクトになります。

    そのファイルにCombineArtifactsパラメーターがバッチビルドに対して選択されている場合、出力アーティファクトの場所には、同じ実行で実行された複数のビルドから結合されたアーティファクトが含まれます。

出力変数

このアクションは、ビルドの一部としてエクスポートされたすべての環境変数を変数として生成します。環境変数のエクスポート方法の詳細については、https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#exported-variables-build-spec を参照してください。

CodePipeline の変数の詳細については、CodeBuild アクション出力変数

アクションの宣言 (CodeBuild の例)

YAML
Name: Build Actions: - Name: PackageExport ActionTypeId: Category: Build Owner: AWS Provider: CodeBuild Version: '1' RunOrder: 1 Configuration: BatchEnabled: 'true' CombineArtifacts: 'true' ProjectName: my-build-project PrimarySource: MyApplicationSource1 EnvironmentVariables: '[{"name":"TEST_VARIABLE","value":"TEST_VALUE","type":"PLAINTEXT"},{"name":"ParamStoreTest","value":"PARAMETER_NAME","type":"PARAMETER_STORE"}]' OutputArtifacts: - Name: MyPipeline-BuildArtifact InputArtifacts: - Name: MyApplicationSource1 - Name: MyApplicationSource2
JSON
{ "Name": "Build", "Actions": [ { "Name": "PackageExport", "ActionTypeId": { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1" }, "RunOrder": 1, "Configuration": { "BatchEnabled": "true", "CombineArtifacts": "true", "ProjectName": "my-build-project", "PrimarySource": "MyApplicationSource1", "EnvironmentVariables": "[{\"name\":\"TEST_VARIABLE\",\"value\":\"TEST_VALUE\",\"type\":\"PLAINTEXT\"},{\"name\":\"ParamStoreTest\",\"value\":\"PARAMETER_NAME\",\"type\":\"PARAMETER_STORE\"}]" }, "OutputArtifacts": [ { "Name": "MyPipeline-BuildArtifact" } ], "InputArtifacts": [ { "Name": "MyApplicationSource1" }, { "Name": "MyApplicationSource2" } ] } ] }

このアクションを利用する際に役立つ関連リソースは以下の通りです。