添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

有关使用上游操作 (CodeCommit) 中的变量并生成输出变量的 Lambda 操作的教程,请参阅 教程:将变量与 Lambda 调用操作一起使用

有关引用上游AWS CloudFormation操作的堆栈输出变量的 CloudFormation 操作的教程,请参阅 教程:创建使用 AWS CloudFormation 部署操作中的变量的管道

有关手动批准操作示例,其消息文本引用了解析为提 CodeCommit 交 ID 和提交消息的输出变量,请参阅 示例:在手动审批中使用变量

有关使用可解析为 GitHub 分支名称的环境变量的 CodeBuild 操作示例,请参阅 示例:使用带有 CodeBuild 环境 BranchName变量的变量

CodeBuild 操作会将所有作为构建一部分导出的环境变量生成为变量。有关更多信息,请参阅 CodeBuild操作输出变量 。有关可以在中使用的环境变量的列表 CodeBuild,请参阅 AWS CodeBuild用户指南 中的生成环境中的环境变量

为操作配置变量

向管道添加操作时,您可以为其分配命名空间并将其配置为使用之前操作中的变量。

为操作配置变量(控制台)

此示例使用 CodeCommit 源操作和 CodeBuild 生成操作创建管道。该 CodeBuild 操作被配置为消耗 CodeCommit 操作生成的变量。

如果未指定命名空间,则这些变量不可在操作配置中引用。使用控制台创建管道时,会自动生成每个操作的命名空间。

创建具有变量的管道
  1. 登录AWS Management Console并通过 http://console.aws.amazon.com/codesuite/codepipeline/home 打开主 CodePipeline 机。

  2. 选择 Create pipeline (创建管道) 。为您的管道输入名称,然后选择 Next (下一步)

    在 “ 来源 ” 中的 “ 提供者 ” 中,选择 CodeCommit 。为源操作选择 CodeCommit 存储库和分支,然后选择 “ 下一步 ”。

    在 “ 构建 ” 中的 “ 提供者 ” 中,选择 CodeBuild 。选择现有的 CodeBuild 构建项目名称或选择 创建项目 。在 “ 创建构建项目 ” 上,创建一个构建项目,然后选择 Ret urn to CodePipeline

    Environment variables (环境变量) 下,选择 Add environment variables (添加环境变量) 。例如,使用变量语法输入执行 ID,使用变量语法 # { codepipeline.PipelineExecutionId} 输入提交 ID # { SourceVariables.CommitId}

    注意

    您可以在向导的任何操作配置字段中输入变量语法。

    选择 Create(创建)

    创建管道后,您可以查看由向导创建的命名空间。在管道上,选择要查看其命名空间的阶段的图标。在此示例中,将显示源操作自动生成的命名空间 SourceVariables

    编辑现有操作的命名空间
    1. 登录AWS Management Console并通过 http://console.aws.amazon.com/codesuite/codepipeline/home 打开主 CodePipeline 机。

    2. 选择要编辑的管道,然后选择 Edit (编辑) 。对于源阶段,选择 Edit stage (编辑阶段) 。添加动 CodeCommit 作。

      Edit action (编辑操作) 中,查看 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. 按照中 在中创建管道 CodePipeline 的步骤使用 CLI 创建管道。启动输入文件以提供带有 --cli-input-json 参数的 create-pipeline 命令。在管道结构中,添加 namespace 参数并指定名称,例如 SourceVariables

          . . . "inputArtifacts": [], "name": "Source", "region": "us-west-2", "namespace": "SourceVariables", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "CodeCommit" "outputArtifacts": [ . . .

          使用类似于 MyPipeline.json 的名称保存文件。

          对于终端(Linux、macOS 或 Unix)或命令提示符 (Windows),运行 create-pipeline 命令并创建管道。

          调用您运行 create-pipeline 命令时创建的文件。例如:

          aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json
          配置下游操作以使用变量
          1. 编辑输入文件以提供带有 --cli-input-json 参数的 update-pipeline 命令。在下游操作中,将变量添加到该操作的配置。变量由命名空间和键组成,以句点分隔。例如,要为管道执行 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

            使用类似于 MyPipeline.json 的名称保存文件。

            对于终端(Linux、macOS 或 Unix)或命令提示符 (Windows),运行 create-pipeline 命令并创建管道。

            调用您运行 create-pipeline 命令时创建的文件。例如:

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

            查看输出变量

            您可以查看操作执行详细信息,以查看该操作特定于每个执行的变量。

            查看变量(控制台)

            您可以使用控制台查看某个操作的变量。

            登录AWS Management Console并通过 http://console.aws.amazon.com/codesuite/codepipeline/home 打开主 CodePipeline 机。

            将会显示所有与您的 AWS 账户关联的管道的名称。

            Name (名称) 中,选择管道的名称。

            选择 View history (查看历史记录)

            管道成功运行后,您可以查看由源操作生成的变量。选择 View history (查看历史记录) 。在管道执行的操作列表中选择 S ourc e 以查看该操作的 CodeCommit 操作执行细节。在操作详细信息屏幕的 Output variables (输出变量) 下查看变量。

            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"

            使用以下命令:

            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

            示例:在手动审批中使用变量

            当您为操作指定命名空间,并且该操作生成输出变量时,可以添加手动审批,该审批将在审批消息中显示变量。此示例演示如何向手动审批消息中添加变量语法。

            登录AWS Management Console并通过 http://console.aws.amazon.com/codesuite/codepipeline/home 打开主 CodePipeline 机。

            将会显示所有与您的 AWS 账户关联的管道的名称。选择要向其添加审批的管道。

            要编辑您的管道,请选择 编辑 。在源操作后添加手动审批。在 操作名称 中,输入审批操作的名称。

            Action provider (操作提供程序) 中,选择 Manual approval (手动审批)

            在 “ 待审网址 ” 中,将的变量语法 CommitId 添加到您 CodeCommit 的 URL 中。请确保您使用分配给源操作的命名空间。例如,具有默认命名空间 SourceVariables 的 CodeCommit 操作的变量语法为 # { SourceVariables.CommitId}

            注释 CommitMessage ,输入提交消息:

            Please approve this change. Commit message: #{SourceVariables.CommitMessage}

            管道成功运行后,您可以在审批消息中查看变量值。

            示例:使用带有 CodeBuild 环境 BranchName变量的变量

            向管道添加 CodeBuild 操作时,可以使用 CodeBuild 环境变量引用来自上游源操作的 BranchName 输出变量。使用中操作的输出变量 CodePipeline,您可以创建自己的 CodeBuild环境变量以在生成命令中使用。

            此示例说明如何将 GitHub 源操作的输出变量语法添加到 CodeBuild 环境变量。此示例中的输出变量语法表示的 GitHub 源操作输出变量 BranchName 。操作成功运行后,变量解析为显示分 GitHub 支名称。

            登录AWS Management Console并通过 http://console.aws.amazon.com/codesuite/codepipeline/home 打开主 CodePipeline 机。

            将会显示所有与您的 AWS 账户关联的管道的名称。选择要向其添加审批的管道。

            要编辑您的管道,请选择 编辑 。在包含您的 CodeBuild 操作的舞台上,选择 编辑舞台

            选择图标以编辑图标以编辑 CodeBuild 操作。

            “编辑” 操作 页面的 “ 环境变量 ” 下,输入以下内容:

            对于 N ame (名称,输入环境变量的名称。

            Valu e 中,输入管道输出变量的变量语法,其中包括分配给源操作的命名空间。例如,具有默认命名空间的 GitHub操作的输出变量语法 SourceVariables # { SourceVariables.BranchName}

            在 “ 类型 ” 中,选择 “ 纯文本 ”。

            管道成功运行后,您可以看到已解析的输出变量是如何成为环境变量中的值的。选择以下选项之一:

            在 “ 时间轴 ” 下,选择 “ 来源 ” 选择器。这是生成 GitHub 输出变量的源操作。选择 “ 查看执行详情 ”。在 输出变量 下,查看此操作生成的输出变量列表。

            在 “ 时间轴 ” 下,选择 “ 构建 ” 选择器。这是为您的生成项目指定 CodeBuild 环境变量的生成操作。选择 “ 查看执行详情 ”。在 “ 操作配置” 下,查看您的 CodeBuild环境变量。选择 “ 显示已解析的配置” 。您的环境变量值是 GitHub 源操作的已解析 BranchName 输出变量。在此示例中,解析值为 main

            有关更多信息,请参阅 查看变量(控制台)

            CodeBuild 控制台: 选择您的构建项目,然后选择构建运行的链接。在 环境变量 下,解析后的输出变量是 CodeBuild 环境变量的值。在此示例中,环境变量 Name BranchName ,V alu e 是 GitHub 源操作的已解析 BranchName 输出变量。在此示例中,解析值为 main