繁体   English   中英

AWS CodeBuild 不会在断点处暂停

[英]AWS CodeBuild not pausing on breakpoint

使用此处提供的步骤,我启动了一个 CodeBuild,并检查了以下高级选项:

  • 启用 session 连接
  • 允许 AWS CodeBuild 修改此服务角色,以便它可以用于此构建项目

构建规范包括一个代码构建断点:

version: 0.2
phases:
  pre_build:
    commands:
      - ls -al
      - codebuild-breakpoint
      - cd "${SERVICE_NAME}"
      - ls -al
      - $(aws ecr get-login)
      - TAG="$SERVICE_NAME"
  build:
    commands:
      - docker build --tag "${REPOSITORY_URI}:${TAG}" .
  post_build:
    commands:
      - docker push "${REPOSITORY_URI}:${TAG}"
      - printf '{"tag":"%s"}' $TAG > ../build.json
artifacts:
  files: build.json

构建开始并在没有暂停的情况下生成了以下日志:

[Container] 2022/02/28 13:49:03 Entering phase PRE_BUILD
[Container] 2022/02/28 13:49:03 Running command ls -al
total 148
drwxr-xr-x 2 root root  4096 Feb 28 13:49 .
drwxr-xr-x 3 root root  4096 Feb 28 13:49 ..
-rw-rw-rw- 1 root root  1818 Feb 28 10:54 user-manager\Dockerfile
-rw-rw-rw- 1 root root   140 Feb 28 10:34 user-manager\body.json
-rw-rw-rw- 1 root root     0 Feb 28 10:54 user-manager\shared-modules\
-rw-rw-rw- 1 root root  4822 Feb 21 14:52 user-manager\shared-modules\config-helper\config.js
-rw-rw-rw- 1 root root  2125 Feb 21 14:52 user-manager\shared-modules\config-helper\config\default.json
-rw-rw-rw- 1 root root   366 Feb 21 14:52 user-manager\shared-modules\config-helper\package.json
-rw-rw-rw- 1 root root  9713 Feb 21 14:52 user-manager\shared-modules\dynamodb-helper\dynamodb-helper.js
-rw-rw-rw- 1 root root   399 Feb 21 14:52 user-manager\shared-modules\dynamodb-helper\package.json
-rw-rw-rw- 1 root root   451 Feb 21 14:52 user-manager\shared-modules\token-manager\package.json
-rw-rw-rw- 1 root root 13885 Feb 21 14:52 user-manager\shared-modules\token-manager\token-manager.js
-rw-rw-rw- 1 root root 44372 Feb 28 10:34 user-manager\src\cognito-user.js
-rw-rw-rw- 1 root root   706 Feb 28 10:34 user-manager\src\package.json
-rw-rw-rw- 1 root root 32734 Feb 28 10:34 user-manager\src\server.js

[Container] 2022/02/28 13:49:03 Running command codebuild-breakpoint
2022/02/28 13:49:03 Build is paused temporarily and you can use codebuild-resume command in the session to resume this build

[Container] 2022/02/28 13:49:03 Running command cd "${SERVICE_NAME}"
/codebuild/output/tmp/script.sh: 4: cd: can't cd to user-manager

我的主要问题是:为什么构建暂停并且 session 管理器链接不可用?

附带任务:我尝试调试 session 的原因是试图确定进程无法 CD 到user-manager文件夹(显然存在)的原因。 任何想法为什么?

TLDR:构建机器上的图像太旧了。

主要任务

模板aws/codebuild/ubuntu-base:14.04指定为 CodeBuild 映像。 据推测,该映像早于 Session 管理器功能(需要安装特定版本的 SSM 代理)。

我将代理更新为aws/codebuild/standard:5.0 ,并且能够成功地在断点处暂停并连接到 session。

支线任务

一旦我连接上,我就能够调查无法 CD 到该文件夹的原因。 我可以确认蒂姆在黑暗中的投篮是正确的。 所有条目实际上都是文件——没有文件夹。

此 QuickStart 是不断赠送的礼物。 当/如果我解决了所有问题,我将提交 PR 来更新项目。 那些对文件/文件夹问题的原因感兴趣的人可以在那里跟进。

支线任务更新奇怪的扁平化行为是由于在 Windows 机器上创建 zip 文件并在 unix 机器上解压缩(构建代理使用 Ubuntu 图像)。 只需使用 7-Zip 将其压缩即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM