我将我的Docker桌面升级到版本3.2.1(61626),并选择使用WSL2,此后我无法运行AWS CodeBuild的本地构建,因为找不到AWS配置。我使用的命令是(我从Windows终端的Ubuntu 20选项卡中运行命令):
./codebuild_build.sh -i aws/codebuild/standard:5.0 -a ./ -s ./ -b ./buildspec.yml -c ~/.aws
那个命令适用于使用 Hyper-V 的 Docker 版本,在升级到 wsl2 后出现了错误:
agent_1 | [Container] 2021/03/05 21:04:05 Phase complete: DOWNLOAD_SOURCE State: FAILED
agent_1 | [Container] 2021/03/05 21:04:05 Phase context status code: Decrypted Variables Error Message: MissingRegion: could not find region configuration
生成的Docker命令如下:
docker run -it -v /var/run/docker.sock:/var/run/docker.sock -e "IMAGE_NAME=aws/codebuild/standard:5.0" -e "ARTIFACTS=/mnt/c/[redacted]" -e "SOURCE=/mnt/c/[redacted]" -e "BUILDSPEC=/mnt/c/[redacted]" -e "AWS_CONFIGURATION=NONE" -e "INITIATOR=[redacted]" amazon/aws-codebuild-local:latest
编辑:
在Git Bash中运行命令会生成以下命令:
winpty docker run -it -v //var/run/docker.sock:/var/run/docker.sock -e "IMAGE_NAME=aws/codebuild/standard:5.0" -e "ARTIFACTS=//C/[redacted]" -e "SOURCE=//C/[redacted]" -e "BUILDSPEC=//C/[redacted]" -e "AWS_CONFIGURATION=//C/Users/[redacted]/.aws" -e "INITIATOR=[redacted]" amazon/aws-codebuild-local:latest
但也以错误的形式失败:
agent_1 | [Container] 2021/03/05 22:17:43 Phase complete: DOWNLOAD_SOURCE State: FAILED
agent_1 | [Container] 2021/03/05 22:17:43 Phase context status code: YAML_FILE_ERROR Message: stat /codebuild/output/srcDownload/src/buildspec.pr.yml: no such file or directory
使用之前的命令,变量AWS_CONFIGURATION包含我的.aws文件夹的路径,我尝试过-c //c/Users/[myProfile]/.aws和/mnt/c/Users/[myProfile]/.aws,但AWS_CONFIGURATION始终为NONE。
我是否缺少某些配置?或者我需要在wsl2中添加额外的步骤?
编辑: 我安装了Ubuntu 18,但仍然无法成功。