【问题标题】:CodeDeploy agent did not find an AppSpec file within the unpacked revision directory at revision-relative path "appspec.yml"CodeDeploy 代理未在修订相对路径“appspec.yml”的解压缩修订目录中找到 AppSpec 文件
【发布时间】:2018-11-27 13:58:04
【问题描述】:

CodeDeploy 代理未在解压后的修订目录中的修订相对路径 “appspec.yml” 中找到 AppSpec 文件。

修订版已解压到目录 "/opt/codedeploy-agent/deployment-root/0bb5a5aa-5894-4575-a69c-a7a4e79b4cdf/d-HQ5GBC7SW/deployment-archive"

AppSpec 文件是预期的,但在路径 “/opt/codedeploy-agent/deployment-root/0bb5a5aa-5894-4575-a69c-a7a4e79b4cdf/d-HQ5GBC7SW/deployment-archive/appspec.yml”中找不到.

【问题讨论】:

  • 你解决了吗?

标签: amazon-web-services aws-code-deploy


【解决方案1】:

我遇到了同样的问题,而另一个答案帮助我得出了正确的结论。在我的情况下,我的 git 存储库中有 appspec.yml 文件,但我忘记将它添加到工件文件部分。结果,appspec.yml 未包含在 zip 中,因此部署步骤找不到它。

在您的buildspec.yml 中,添加:

artifacts:
  files:
    - appspec.yml
    - ... other files to include in your build ...

我的部署配置中也有一些其他错误。查看日志文件的底部有助于发现它们:

less /var/log/aws/codedeploy-agent/codedeploy-agent.log

有一次,我的 EC2 实例在尝试运行部署时也挂起,停止并重新启动 codedeploy 代理没有帮助。我不得不完全重启 EC2 实例。

这些文档有帮助:https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html

【讨论】:

  • 这也是我的问题。我必须将它作为工件添加到我的 buildspec.yml
【解决方案2】:

您是否将 appspec.yml 文件放在文件夹包的根级别?如果是,您如何创建捆绑包?如果您只是创建一个 .zip,那么您需要确保将文件添加到 zip 而不是文件夹中。

【讨论】:

  • 感谢您指出确切的问题。应该压缩文件而不是压缩到包含这些文件的目录。
【解决方案3】:

不是最有用的答案。但是我遇到了这个问题,并且 codebuild 找不到 appspec.yml 中定义的脚本,我花了一整天的时间,最后才开始重新启动 ec2,它能够找到脚本。 ?

【讨论】:

  • 那些无法确定自己是生气还是放松的时刻。我自己也试过了……祈祷我也成功了!
【解决方案4】:

添加到 Aura 的答案为我解决了这个问题。再次感谢光环!对于 Mac 用户:

要创建包含所有文件的 zip,请在 finder 中打开要压缩的文件夹,突出显示所有文件(使用命令 A),右键单击,然后选择“压缩 XYZ 项目”。

您可能犯的错误是右键单击文件夹本身并单击“压缩文件夹名称”。

压缩整个文件夹的问题是“解压目录”最终成为一个目录本身。因此,当 CodeDeploy 代理查找 appspec.yml 文件时,它会看到类似“FolderName/”的内容,而不是 FolderName 的内容(应该包括 appspec.yml)。

希望这些额外的细节有所帮助。

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 2020-03-10
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 2021-10-12
    • 1970-01-01
    相关资源
    最近更新 更多