AWS CodeBuild DOWNLOAD_SOURCE 运行时错误(*exec.ExitError:退出状态 1)

问题描述 投票:0回答:2

我使用 AWS CodePipeline 进行了自动构建,工作正常,但今天突然开始失败,并出现此奇怪的错误消息,我无法在任何地方了解发生了什么情况。

Container] 2017/12/26 16:42:52 Waiting for agent ping
[Container] 2017/12/26 16:42:52 Waiting for DOWNLOAD_SOURCE
[Container] 2017/12/26 16:42:53 Phase is DOWNLOAD_SOURCE
[Container] 2017/12/26 16:42:53 Runtime error (*exec.ExitError: exit status 1)

这是在

DOWNLOAD_SOURCE
阶段,这阻碍了我理解问题,因为这似乎是在AWS方面,而不是来自我的部署配置。

enter image description here

有人遇到同样的问题,或者知道如何解决问题本身吗?

谢谢!

amazon-web-services aws-codepipeline aws-codebuild
2个回答
0
投票

我对这个完全相同的问题感到生气。如果您用 google 搜索 DOWNLOAD_SOURCE

"Runtime error (*exec.ExitError: exit status 1)"
,这是唯一的结果。

就我而言,问题是 zip 文件格式错误。

压缩源代码的正确方法是:

cd somedir ; zip -r ../zipped.zip . * ; cd ..

我正在使用:

zip -r bless_builder.zip somedir/*

aws codebuild 用户指南中,他们确实提到了它:

重要

不包含(根目录名称)目录,仅包含 (根目录名称)中包含的目录和文件 目录。

但我发誓他们至少可以在错误代码方面更有创意!


0
投票

TLDR:检查您的环境变量以确保任何地方都没有冲突,尤其是您正在使用的基本 docker 映像和您在 codebuild 中设置的环境变量之间。对我来说,这是由于环境变量和它们在我的环境中加载的方式发生冲突。

代码构建团队需要在这里做得更好,显示实际错误是什么。你可以花无限多的时间去追寻问题的根源。

这不是我的情况,但 AWS 支持团队还建议再次尝试构建,因为它可能是暂时的,或者暂时切换到不同的源(同样,这不是我们的选择,因为我们使用 codepipeline 和 cdk ,所以一切都是自动编排的)。

这连续困扰了我几个小时,特别是因为我的场景错误是不确定的(有时它会起作用,而大多数时候它不会),所以当我运行它时,最初一切正常,然后编写了小代码之后发生了变化,我绞尽脑汁试图确定发生了什么变化。

就我而言,我使用的自定义基础映像具有预设的环境变量。为了让代码构建中的内容正常工作,我尝试在构建规范中执行以下操作来取消设置

BASH_ENV
,以便它不会与代码构建冲突,然后重置它,以便在构建过程中需要我的
BASH_ENV
安装阶段:

{
    "version": "0.2",
    "env": {
        "variables": {
            "BASH_ENV": "" 
         }
     },
     "phases": {
         "install": {
            "commands": ["export BASH_ENV=/usr/local/etc/bash_env", ...],
         },
     },
}

我最终不得不删除以下内容才能使其正常工作:

"env": {
    "variables": {
        "BASH_ENV": "" 
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.