本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中 AWS CodeBuild,你可以使用 CodeBuild 沙盒来调试构建,运行自定义命令并对构建进行故障排除。
主题
先决条件
在使用 CodeBuild 沙箱之前,请确保您的 CodeBuild 服务角色具有以下 SSM 策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssmmessages:CreateControlChannel",
"ssmmessages:CreateDataChannel",
"ssmmessages:OpenControlChannel",
"ssmmessages:OpenDataChannel"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ssm:StartSession"
],
"Resource": [
"arn:aws:codebuild:<region>
:<account-id>
:build/*",
"arn:aws:ssm:<region>
::document/AWS-StartSSHSession"
]
}
]
}
使用 CodeBuild 沙箱(控制台)调试构建
按照以下说明运行命令并在控制台中将 SSH 客户端与 CodeBuild 沙箱连接起来。
使用 CodeBuild 沙箱(控制台)运行命令
在 https://console.aws.amazon.com/codesuite/codebuild
/home 中打开 AWS CodeBuild 控制台。 -
在导航窗格中,选择构建项目。选择构建项目,然后选择 “调试构建”。
-
在 “运行命令” 选项卡中,输入您的自定义命令,然后选择 “运行命令”。
-
然后,您的 CodeBuild 沙箱将被初始化并开始运行您的自定义命令。完成后,输出将显示在 “输出” 选项卡中。
-
故障排除完成后,您可以通过选择 “停止沙箱” 来停止沙箱。然后选择 “停止” 以确认您的沙箱将停止。
使用 CodeBuild 沙箱(控制台)连接您的 SSH 客户端
在 https://console.aws.amazon.com/codesuite/codebuild
/home 中打开 AWS CodeBuild 控制台。 -
在导航窗格中,选择构建项目。选择构建项目,然后选择 “调试构建”。
-
在 “SSH 客户端” 选项卡中,选择 “启动沙箱”。
-
CodeBuild 沙箱开始运行后,按照控制台说明将 SSH 客户端与沙箱连接起来。
-
故障排除完成后,您可以通过选择 “停止沙箱” 来停止沙箱。然后选择 “停止” 以确认您的沙箱将停止。
使用 CodeBuild 沙盒调试构建 ()AWS CLI
按照以下说明运行命令并将您的 SSH 客户端与 CodeBuild 沙箱连接。
启动 CodeBuild 沙箱 ()AWS CLI
aws codebuild start-sandbox --project-name $PROJECT_NAME
-
--project-name
: CodeBuild 项目名称
获取有关沙盒状态的信息 ()AWS CLI
aws codebuild batch-get-sandboxes --ids $SANDBOX_IDs
停止沙箱 ()AWS CLI
aws codebuild stop-sandbox --id $SANDBOX-ID
-
--id
: AsandboxId
或sandboxArn
。
开始执行命令 (AWS CLI)
aws codebuild start-command-execution --command $COMMAND --type $TYPE --sandbox-id $SANDBOX-ID
-
--command
: 需要执行的命令。 -
--sandbox-id
: AsandboxId
或sandboxArn
。 -
--type
: 命令类型,SHELL
。
获取有关命令执行的信息 (AWS CLI)
aws codebuild batch-get-command-executions --command-execution-ids $COMMAND-IDs --sandbox-id $SANDBOX-IDs
-
--command-execution-ids
: 逗号分隔的列表。commandExecutionIds
-
--sandbox-id
: AsandboxId
或sandboxArn
。
列出沙箱的命令执行情况 ()AWS CLI
aws codebuild list-command-executions-for-sandbox --sandbox-id $SANDBOX-ID --next-token $NEXT_TOKEN --max-results $MAX_RESULTS --sort-order $SORT_ORDER
-
--next-token
: 获取分页结果的下一个标记(如果有)。您将从先前执行的列表沙箱中获得此值。 -
--max-results
:(可选)要检索的最大沙箱记录数。 -
--sort-order
:沙箱记录的检索顺序。
列出沙箱 ()AWS CLI
aws codebuild list-sandboxes --next-token $NEXT_TOKEN --max-results $MAX_RESULTS --sort-order $SORT_ORDER