AWS CodeBuild - AWS CodePipeline

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

AWS CodeBuild

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

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

アクションタイプ

  • カテゴリ: Build または Test

  • 所有者: AWS

  • プロバイダー: CodeBuild

  • バージョン: 1

設定パラメータ

ProjectName

必須: はい

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

PrimarySource

必須: 条件による

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

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

BatchEnabled

必須: いいえ

この BatchEnabled パラメータのブール値は、アクションが同じビルド実行で複数のビルドを実行することを可能にします。

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

バッチビルドが有効になっているパイプラインの例については、CodePipeline 「 との統合 CodeBuild 」および「バッチビルド」を参照してください。

CombineArtifacts

必須: いいえ

この CombineArtifacts パラメータのブール値は、バッチ ビルドからのすべてのビルド アーティファクトをビルド アクションのための単一の アーティファクト ファイルにまとめます。

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

EnvironmentVariables

必須: いいえ

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

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

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

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

    注記

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

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

注記

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

詳細については、 API リファレンス EnvironmentVariableの AWS CodeBuild 「」を参照してください。 GitHub ブランチ名に解決される環境変数を使用した CodeBuild アクションの例については、「」を参照してください例: CodeBuild 環境変数で変数を使用する BranchName

入力アーティファクト

  • アーティファクトの数: 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 パラメータが選択されている場合、出力アーティファクトの場所には、同じ実行で実行された複数のビルドから結合されたアーティファクトが含まれます。

出力変数

このアクションは、ビルドの一部としてエクスポートされたすべての環境変数を変数として生成します。環境変数をエクスポートする方法の詳細については、AWS CodeBuild 「 API ガイド EnvironmentVariable」の「」を参照してください。

での CodeBuild 環境変数の使用の詳細については CodePipeline、「」の例を参照してくださいCodeBuild アクション出力変数。で使用できる環境変数のリストについては CodeBuild、「 ユーザーガイド」の「ビルド環境の環境変数AWS 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" } ] } ] }

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