AWS CodeBuild未在断点处暂停



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

  • 启用会话连接
  • 允许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-managerDockerfile
-rw-rw-rw- 1 root root   140 Feb 28 10:34 user-managerbody.json
-rw-rw-rw- 1 root root     0 Feb 28 10:54 user-managershared-modules
-rw-rw-rw- 1 root root  4822 Feb 21 14:52 user-managershared-modulesconfig-helperconfig.js
-rw-rw-rw- 1 root root  2125 Feb 21 14:52 user-managershared-modulesconfig-helperconfigdefault.json
-rw-rw-rw- 1 root root   366 Feb 21 14:52 user-managershared-modulesconfig-helperpackage.json
-rw-rw-rw- 1 root root  9713 Feb 21 14:52 user-managershared-modulesdynamodb-helperdynamodb-helper.js
-rw-rw-rw- 1 root root   399 Feb 21 14:52 user-managershared-modulesdynamodb-helperpackage.json
-rw-rw-rw- 1 root root   451 Feb 21 14:52 user-managershared-modulestoken-managerpackage.json
-rw-rw-rw- 1 root root 13885 Feb 21 14:52 user-managershared-modulestoken-managertoken-manager.js
-rw-rw-rw- 1 root root 44372 Feb 28 10:34 user-managersrccognito-user.js
-rw-rw-rw- 1 root root   706 Feb 28 10:34 user-managersrcpackage.json
-rw-rw-rw- 1 root root 32734 Feb 28 10:34 user-managersrcserver.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

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

次要任务:我尝试调试会话的原因是试图确定进程无法CD到user-manager文件夹(该文件夹显然存在(的原因。有什么想法吗?

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

主任务

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

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

侧面任务

连接后,我能够调查无法将CD刻录到文件夹的原因。我可以确认蒂姆在黑暗中的射门是正确的!所有的条目实际上都是文件,没有文件夹。

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

侧任务更新奇怪的扁平化行为是由于在Windows机器上创建zip文件并在unix机器上解压缩(构建代理使用Ubuntu映像(。只是用7-Zip把它拉上拉链,就完成了任务。

最新更新