変数の操作 - AWS CodePipeline

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

変数の操作

の一部のアクションは変数 CodePipeline を生成します。変数を使用するには、次の手順に従います。

  • 名前空間をアクションに割り当てて、生成する変数をダウンストリームアクション設定で使用できるようにします。

  • ダウンストリームアクションは、アクションによって生成された変数を消費するよう設定します。

    各アクションの実行の詳細を表示して、実行時にアクションによって生成された各出力変数の値を確認できます。

変数の使用 step-by-step 例を表示するには:

変数のアクションを設定する

パイプラインにアクションを追加すると、そのアクションに名前空間を割り当て、以前のアクションの変数を消費するように設定できます。

変数のアクションを設定する (コンソール)

この例では、 CodeCommit ソースアクションと CodeBuild ビルドアクションを使用してパイプラインを作成します。 CodeBuild アクションは、 CodeCommit アクションによって生成された変数を消費するように設定されています。

名前空間が指定されていない場合、変数はアクション設定で参照できません。コンソールを使用してパイプラインを作成すると、各アクションの名前空間が自動的に生成されます。

変数を使用してパイプラインを作成するには
  1. にサインイン AWS Management Console し、http://console.aws.amazon.com/codesuite/codepipeline/home で CodePipeline コンソールを開きます。

  2. パイプラインの作成 を選択します。パイプラインに名前を入力し、[Next (次へ)] を選択します。

  3. ソース で、プロバイダー で を選択しますCodeCommit。ソースアクションの CodeCommit リポジトリとブランチを選択し、次へ を選択します。

  4. ビルド で、プロバイダー で を選択しますCodeBuild。既存の CodeBuild ビルドプロジェクト名を選択するか、プロジェクトの作成 を選択します。ビルドプロジェクトの作成 で、ビルドプロジェクトを作成し、「 に戻る CodePipeline」を選択します。

    [環境変数] の下で、[Add environment variables (環境変数を追加)] を選択します。例えば、実行 ID を変数構文 #{codepipeline.PipelineExecutionId} で入力し、コミット ID を変数構文 #{SourceVariables.CommitId} で入力します。

    注記

    変数構文は、ウィザードの任意のアクション設定フィールドに入力できます。

  5. [作成] を選択します。

  6. パイプラインが作成されたら、ウィザードによって作成された名前空間を表示できます。パイプラインで、名前空間を表示するステージのヘルプペインアイコンを選択します。この例では、ソースアクションの自動生成された名前空間、SourceVariables が表示されます。

    例: アクション情報画面
既存のアクションの名前空間を編集するには
  1. にサインイン AWS Management Console し、http://console.aws.amazon.com/codesuite/codepipeline/home で CodePipeline コンソールを開きます。

  2. 編集するパイプラインを選択して [編集] を選択します。ソースステージで、[Edit stage (ステージを編集)] を選択します。 CodeCommit アクションを追加します。

  3. [アクションの編集] で、[Variable namespace (変数の名前空間)] フィールドを表示します。既存のアクションが以前に作成された場合、またはウィザードを使用せずに作成された場合は、名前空間を追加する必要があります。[Variable namespace (変数の名前空間)] に名前空間名を入力し、[Save (保存)] を選択します。

出力変数を表示するには
  1. にサインイン AWS Management Console し、http://console.aws.amazon.com/codesuite/codepipeline/home で CodePipeline コンソールを開きます。

  2. パイプラインが作成され、正常に実行できたら、アクションの実行詳細ページで変数の値を表示することもできます。詳細については、変数を表示する (コンソール) を参照してください。

変数のアクションを設定する (CLI)

create-pipeline コマンドを使用してパイプラインを作成するか、update-pipeline コマンドを使用してパイプラインを編集する場合は、アクションの設定で変数を参照したり、使用したりできます。

名前空間が指定されていない場合、アクションによって生成された変数は、ダウンストリームアクション設定で参照することはできません。

名前空間でアクションを設定するには
  1. の手順に従ってパイプライン、ステージ、アクションを作成する、 を使用してパイプラインを作成しますCLI。入力ファイルを起動して、create-pipeline コマンドに --cli-input-json パラメータを指定します。パイプライン構造で、namespace パラメータを追加し、SourceVariables などの名前を指定します。

    . . . { "inputArtifacts": [], "name": "Source", "region": "us-west-2", "namespace": "SourceVariables", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "CodeCommit" }, "outputArtifacts": [ . . .
  2. MyPipeline.json のような名前でファイルを保存します。

  3. ターミナル (Linux、macOS、UNIX) またはコマンドプロンプト (Windows) で、create-pipelineコマンドを実行し、パイプラインを作成します。

    create-pipeline コマンドを実行したときに作成したファイルを呼び出します。例:

    aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json
変数を消費するダウンストリームアクションを設定するには
  1. 入力ファイルを編集して、update-pipeline コマンドに --cli-input-json パラメータを指定します。ダウンストリームアクションで、そのアクションの設定に変数を追加します。変数は、ピリオドで区切られた名前空間とキーで構成されます。たとえば、パイプライン実行 ID とソースコミット ID の変数を追加するには、変数 #{codepipeline.PipelineExecutionId} に変数の名前空間 codepipeline を指定します。変数の #{SourceVariables.CommitId} 名前空間 SourceVariables を指定します。

    { "name": "Build", "actions": [ { "outputArtifacts": [ { "name": "BuildArtifacts" } ], "name": "Build", "configuration": { "EnvironmentVariables": "[{\"name\":\"Execution_ID\",\"value\":\"#{codepipeline.PipelineExecutionId}\",\"type\":\"PLAINTEXT\"},{\"name\":\"Commit_ID\",\"value\":\"#{SourceVariables.CommitId}\",\"type\":\"PLAINTEXT\"}]", "ProjectName": "env-var-test" }, "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-west-2", "actionTypeId": { "provider": "CodeBuild", "category": "Build", "version": "1", "owner": "AWS" }, "runOrder": 1 } ] },
  2. MyPipeline.json のような名前でファイルを保存します。

  3. ターミナル (Linux、macOS、UNIX) またはコマンドプロンプト (Windows) で、create-pipelineコマンドを実行し、パイプラインを作成します。

    create-pipeline コマンドを実行したときに作成したファイルを呼び出します。例:

    aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json

出力変数を表示する

アクション実行の詳細を表示して、各実行に固有のアクションの変数を表示できます。

変数を表示する (コンソール)

コンソールを使用して、アクションの変数を表示できます。

  1. にサインイン AWS Management Console し、http://console.aws.amazon.com/codesuite/codepipeline/home で CodePipeline コンソールを開きます。

    AWS アカウントに関連付けられているすべてのパイプラインの名前が表示されます。

  2. [Name] で、パイプラインの名前を選択します。

  3. [View history (履歴の表示)] を選択します。

  4. パイプラインが正常に実行されると、ソースアクションによって生成された変数を表示できます。[View history (履歴の表示)] を選択します。パイプライン実行のアクションリストでソースを選択して、アクションの実行の詳細を表示します CodeCommit 。アクションの詳細画面で、[Output variables (出力変数)] の下の変数を表示します。

    例: ソース出力変数
  5. パイプラインが正常に実行されると、ビルドアクションによって消費される変数を表示できます。[View history (履歴の表示)] を選択します。パイプライン実行のアクションリストで、ビルド を選択して、アクションの CodeBuild アクション実行の詳細を表示します。アクションの詳細ページで、[アクション設定] の下にある変数を表示します。自動生成された名前空間が表示されます。

    例: アクション設定変数

    デフォルトでは、[アクション設定] には変数の構文が表示されます。[Show resolved configuration (解決された設定を表示)] を選択して、アクションの実行中に生成された値を表示するようにリストを切り替えることができます。

    例: 解決済みアクション設定変数

変数の表示 (CLI)

list-action-executions コマンドを使用して、アクションの変数を表示できます。

  1. 以下のコマンドを使用します。

    aws codepipeline list-action-executions

    出力には、次に示すように outputVariables パラメータが表示されます。

    "outputVariables": { "BranchName": "main", "CommitMessage": "Updated files for test", "AuthorDate": "2019-11-08T22:24:34Z", "CommitId": "d99b0083cc10EXAMPLE", "CommitterDate": "2019-11-08T22:24:34Z", "RepositoryName": "variables-repo" },
  2. 以下のコマンドを使用します。

    aws codepipeline get-pipeline --name <pipeline-name>

    アクションの CodeBuild アクション設定では、変数を表示できます。

    { "name": "Build", "actions": [ { "outputArtifacts": [ { "name": "BuildArtifact" } ], "name": "Build", "configuration": { "EnvironmentVariables": "[{\"name\":\"Execution_ID\",\"value\":\"#{codepipeline.PipelineExecutionId}\",\"type\":\"PLAINTEXT\"},{\"name\":\"Commit_ID\",\"value\":\"#{SourceVariables.CommitId}\",\"type\":\"PLAINTEXT\"}]", "ProjectName": "env-var-test" }, "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-west-2", "actionTypeId": { "provider": "CodeBuild", "category": "Build", "version": "1", "owner": "AWS" }, "runOrder": 1 } ] },

例: 手動承認で変数を使用する

アクションの名前空間を指定し、そのアクションが出力変数を生成する場合、承認メッセージに変数を表示する手動承認を追加できます。この例では、手動承認メッセージに変数構文を追加する方法を示します。

  1. にサインイン AWS Management Console し、http://console.aws.amazon.com/codesuite/codepipeline/home で CodePipeline コンソールを開きます。

    AWS アカウントに関連付けられているすべてのパイプラインの名前が表示されます。承認を追加するパイプラインを選択します。

  2. パイプラインを編集するには、[編集] を選択します。ソースアクションの後に、手動承認を追加します。[アクション名] に、承認処理の名前を入力します。

  3. [アクションプロバイダ] で、[手動承認] を選択します。

  4. URL で を確認して、 の変数構文CommitIdを に追加します CodeCommit URL。ソースアクションに割り当てられた名前空間をかならず使用してください。例えば、デフォルトの名前空間を持つアクションの変数構文 CodeCommitは SourceVariablesです#{SourceVariables.CommitId}

    [コメント] で、CommitMessage にコミットメッセージを入力します。

    Please approve this change. Commit message: #{SourceVariables.CommitMessage}
  5. パイプラインが正常に実行されると、承認メッセージに変数の値を表示できます。

例: CodeBuild 環境変数で変数を使用する BranchName

パイプラインに CodeBuild アクションを追加するときは、 CodeBuild 環境変数を使用して、アップストリームソースアクションからBranchName出力変数を参照できます。のアクションからの出力変数を使用すると CodePipeline、ビルドコマンドで使用する独自の CodeBuild環境変数を作成できます。

この例では、 GitHub ソースアクションから CodeBuild 環境変数に出力変数構文を追加する方法を示します。この例の出力変数構文は、 の GitHub ソースアクション出力変数を表しますBranchName。アクションが正常に実行されると、変数は解決されて GitHub ブランチ名が表示されます。

  1. にサインイン AWS Management Console し、http://console.aws.amazon.com/codesuite/codepipeline/home で CodePipeline コンソールを開きます。

    AWS アカウントに関連付けられているすべてのパイプラインの名前が表示されます。承認を追加するパイプラインを選択します。

  2. パイプラインを編集するには、[編集] を選択します。 CodeBuild アクションを含むステージで、ステージの編集 を選択します。

  3. アイコンを選択して、 CodeBuild アクションを編集します。

  4. [編集アクション] ページの 環境変数 で、次のように入力します。

    • [名前]に、環境変数の名前を入力します。

    • []に、パイプライン出力変数の変数構文を入力します。これには、ソースアクションに割り当てられた名前空間が含まれます。例えば、デフォルトの名前空間を持つアクションの出力変数構文 GitHubは SourceVariablesです#{SourceVariables.BranchName}

    • [タイプ]に、プレーンテキストを選択します。

  5. パイプラインが正常に実行されると、解決された出力変数が環境変数の値になることがわかります。以下のうちのひとつを選択します。

    • CodePipeline コンソール: パイプラインを選択し、履歴 を選択します。最新のパイプライン実行を選択します。

      • [タイムライン]で、[送信元] のセレクタを選択します。これは、 GitHub 出力変数を生成するソースアクションです。View execution details (実行の詳細を表示)を選択 [出力変数]で、このアクションによって生成された出力変数のリストを表示します。

      • [タイムライン]で、[ビルド]のセレクタを選択します。これは、ビルドプロジェクトの CodeBuild 環境変数を指定するビルドアクションです。View execution details (実行の詳細を表示)を選択 アクション設定 で CodeBuild、環境変数を表示します。解決済み設定を表示 を選択。環境変数値は、 GitHub ソースアクションからの解決されたBranchName出力変数です。この例では、この値は main です。

        詳細については、「変数を表示する (コンソール)」を参照してください。

    • CodeBuild コンソール: ビルドプロジェクトを選択し、ビルド実行のリンクを選択します。環境変数 では、解決された出力変数は CodeBuild 環境変数の値です。この例では、環境変数 NameBranchNameで、Value は GitHub ソースアクションからの解決されたBranchName出力変数です。この例では、この値は main です。

    コンソールで解決された変数を示すスクリーンショット