本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建条件时,可以添加 Commands
规则。本节提供对规则参数的参考。有关规则和条件的更多信息,请参阅阶段条件是如何运作的?。
您可以使用该Commands
规则来创建成功命令满足规则条件的条件,例如 beforeEntry 条件下命令成功的输出和文件路径。
注意
对于使用 “跳过” 结果配置的 beforeEntry 条件,只有以下规则可用:LambdaInvoke
和VariableCheck
。
命令规则的注意事项
以下注意事项适用于命令规则。
-
命令规则使用与 CodeBuild 操作类似的 CodeBuild 资源,同时允许在虚拟计算实例中使用外壳环境命令,而无需关联或创建构建项目。
注意
运行命令规则将在中产生单独的费用。 AWS CodeBuild
-
由于中的 Commands 规则 CodePipeline 使用 CodeBuild 资源,因此操作运行的生成将归因于中账户的生成限制 CodeBuild。按命令规则运行的生成将计入为该账户配置的并发生成限制。
-
根据构建,使用命令规则的 CodeBuild构建的超时时间为 55 分钟。
-
计算实例在中使用隔离的构建环境 CodeBuild。
注意
由于隔离构建环境是在账户级别使用的,因此一个实例可能会被重复用于另一个管道的执行。
-
支持除多行格式外的所有格式。输入命令时必须使用单行格式。
-
对于此规则, CodePipeline 将担任管道服务角色并使用该角色允许在运行时访问资源。建议配置服务角色,以便将权限范围缩小到操作级别。
-
中详细介绍了添加到 CodePipeline 服务角色的权限向 CodePipeline 服务角色添加权限。
-
在控制台中查看日志所需的权限详见在 CodePipeline 控制台中查看计算日志所需的权限。在以下示例屏幕中,使用日志链接查看日志中成功的命令规则的 CloudWatch 日志。
-
与中的其他操作不同 CodePipeline,您无需在操作配置中设置字段;而是在操作配置之外设置操作配置字段。
服务角色策略权限
CodePipeline 运行规则时,使用管道名称 CodePipeline 创建日志组,如下所示。这样就可以使用管道名称缩小日志资源的权限范围。
/aws/codepipeline/
MyPipelineName
如果您使用的是现有的服务角色,要使用 Commands 操作,需要为服务角色添加以下权限。
-
日志:CreateLogGroup
-
日志:CreateLogStream
-
日志:PutLogEvents
在服务角色策略声明中,将权限范围缩小到管道级别,如下例所示。
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:
YOUR_AWS_ACCOUNT_ID
:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME
:*" }
要在控制台中使用操作详细信息对话框页面查看日志,必须在控制台角色中添加查看日志的权限。有关更多信息,请参阅在 CodePipeline 控制台中查看计算日志所需的权限中的控制台权限策略示例。
Rule type
-
类别:
Rule
-
拥有者:
AWS
-
提供方:
Commands
-
版本:
1
配置参数
- 命令
-
必需:是
您可以为要运行的
Commands
规则提供 shell 命令。在控制台中,命令分行输入。在 CLI 中,命令以单独字符串的形式输入。注意
不支持多行格式,这会导致出现错误消息。在 Commands 字段中输入命令时必须使用单行格式。
以下详细信息提供了用于命令规则的默认计算。有关更多信息,请参阅 CodeBuild 用户指南中的构建环境计算模式和类型参考。
-
CodeBuild 图片:aws/codebuild/amazonlinux2-x86_64 standard: 5.0
-
计算类型:Linux Small
-
环境计算类型值:BUILD_ _SMAL L GENERAL1
-
环境类型值:LINUX_CONTAINER
-
规则配置示例
result: FAIL
rules:
- name: CommandsRule
ruleTypeId:
category: Rule
owner: AWS
provider: Commands
version: '1'
configuration: {}
inputArtifacts:
- name: SourceArtifact
region: us-east-1
另请参阅
以下相关资源可在您使用此规则时为您提供帮助。