选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

命令

聚焦模式
命令 - AWS CodePipeline

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建条件时,可以添加 Commands 规则。本节提供对规则参数的参考。有关规则和条件的更多信息,请参阅阶段条件是如何运作的?

您可以使用该Commands规则来创建成功命令满足规则条件的条件,例如 beforeEntry 条件下命令成功的输出和文件路径。

注意

对于使用 “跳过” 结果配置的 beforeEntry 条件,只有以下规则可用:LambdaInvokeVariableCheck

命令规则的注意事项

以下注意事项适用于命令规则。

  • 命令规则使用与 CodeBuild 操作类似的 CodeBuild 资源,同时允许在虚拟计算实例中使用外壳环境命令,而无需关联或创建构建项目。

    注意

    运行命令规则将在中产生单独的费用。 AWS CodeBuild

  • 由于中的 Commands 规则 CodePipeline 使用 CodeBuild 资源,因此操作运行的生成将归因于中账户的生成限制 CodeBuild。按命令规则运行的生成将计入为该账户配置的并发生成限制。

  • 根据构建,使用命令规则的 CodeBuild构建的超时时间为 55 分钟。

  • 计算实例在中使用隔离的构建环境 CodeBuild。

    注意

    由于隔离构建环境是在账户级别使用的,因此一个实例可能会被重复用于另一个管道的执行。

  • 支持除多行格式外的所有格式。输入命令时必须使用单行格式。

  • 对于此规则, CodePipeline 将担任管道服务角色并使用该角色允许在运行时访问资源。建议配置服务角色,以便将权限范围缩小到操作级别。

  • 中详细介绍了添加到 CodePipeline 服务角色的权限向 CodePipeline 服务角色添加权限

  • 在控制台中查看日志所需的权限详见在 CodePipeline 控制台中查看计算日志所需的权限。在以下示例屏幕中,使用日志链接查看日志中成功的命令规则的 CloudWatch 日志。

    带有命令规则的管道的状态页面
    包含命令规则 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

规则配置示例

YAML
result: FAIL rules: - name: CommandsRule ruleTypeId: category: Rule owner: AWS provider: Commands version: '1' configuration: {} inputArtifacts: - name: SourceArtifact region: us-east-1
JSON
{ "result": "FAIL", "rules": [ { "name": "CommandsRule", "ruleTypeId": { "category": "Rule", "owner": "AWS", "provider": "Commands", "version": "1" }, "configuration": {}, "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1" } ] }
result: FAIL rules: - name: CommandsRule ruleTypeId: category: Rule owner: AWS provider: Commands version: '1' configuration: {} inputArtifacts: - name: SourceArtifact region: us-east-1

以下相关资源可在您使用此规则时为您提供帮助。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。