编辑输入文件以提供带有
--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
。