gpt4 book ai didi

amazon-elastic-beanstalk - 如何将 chmod +x 权限添加到 AWS Elastic Beanstalk 平台 Hook ?

转载 作者:行者123 更新时间:2023-12-03 16:15:24 26 4
gpt4 key购买 nike

语境
我正在使用 Elastic Beanstalk 部署一个非常简单的测试应用程序。我有几个要使用 apt 安装的软件包。我已经包含了一个 01_installations.sh安装在 .platform/hooks/prebuild 中的脚本目录。当我压缩我的应用程序并部署到 Elastic Beanstalk 时,日志确认预构建脚本运行,但它没有权限。

2020/08/12 21:03:46.674234 [INFO] Executing instruction: RunAppDeployPreBuildHooks
2020/08/12 21:03:46.674256 [INFO] Executing platform hooks in .platform/hooks/prebuild/
2020/08/12 21:03:46.674296 [INFO] Following platform hooks will be executed in order: [01_installations.sh]
2020/08/12 21:03:46.674302 [INFO] Running platform hook: .platform/hooks/prebuild/01_installations.sh
2020/08/12 21:03:46.674482 [ERROR] An error occurred during execution of command [app-deploy] - [RunAppDeployPreBuildHooks]. Stop running the command. Error: Command .platform/hooks/prebuild/01_installations.sh failed with error fork/exec .platform/hooks/prebuild/01_installations.sh: permission denied
问题
我的理解是权限被拒绝是因为我没有添加 chmod +x使 .sh 文件可执行。正如 AWS 平台 Hook 文档所述:“使用 chmod +x 设置 Hook 文件的执行权限。” ( https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html )。 我的问题是:我该怎么做?
我只是在一个目录中有 .sh 文件。我不会从其他任何地方调用它。我错过了一个简单的步骤吗? AWS 文档使它看起来应该很简单。
以前的尝试
我尝试过的事情:
  • 添加 .ebextensions
  • 尝试:创建一个 .config .ebextensions 中的文件包含以下命令的目录,该命令应该使用 chmod +x 权限执行 .sh 文件。
  • 结果:出现同样的错误。 Elastic Beanstalk 日志未表明 .config完全被处理了。

  • container_commands:
    01_chmod1:
    command: "chmod +x .platform/hooks/prebuild/01_installations.sh"
  • 更改 .sh 文件的名称
  • 尝试:按照 AWS 用户的建议(下面的论坛链接)将 .sh 文件更改为名为“chmod +x 01_installations.sh”。删除 .ebextensions
  • 结果:出现同样的错误。

  • [RunAppDeployPreBuildHooks]. Stop running the command. Error: Command .platform/hooks/prebuild/chmod +x 01_installations.sh failed with error fork/exec .platform/hooks/prebuild/chmod +x 01_installations.sh: permission denied 
    我已经回顾了这里的想法,但实际上没有一个包含足够完整的示例来遵循:
  • https://forums.aws.amazon.com/thread.jspa?messageID=942515
  • https://github.com/aws/elastic-beanstalk-roadmap/issues/15
  • 最佳答案

    通常,您在 上设置权限本地工作站 , 在压缩部署包之前。
    但是,如果您想在 EB 实例上执行此操作,则不能使用 container_commands为此。原因是container_commands执行 prebuild .相反,您应该尝试使用 commands :

    The prebuild files run after running commands found in the commands section of any configuration file and before running Buildfile commands.

    关于amazon-elastic-beanstalk - 如何将 chmod +x 权限添加到 AWS Elastic Beanstalk 平台 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63399252/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com