Elastic Beanstalk 部署在 AppDeployPreHook/12_update_permissions.sh 失败

Elastic Beanstalk deployments failing at AppDeployPreHook/12_update_permissions.sh

我的 EB 部署在尝试部署 10-15 分钟后一直失败。通常 eb-activity.log 处的日志以此结尾。

[2021-03-25T08:28:43.505Z] INFO  [1773]  - [Application update local-2021-03-25-a@121/AppDeployStage0/AppDeployPreHook/12_update_permissions.sh] : Starting activity...

有时它会在大约 15 分钟后超过此时间,此时 EB 已经放弃并认为部署是错误的。

[2021-03-25T08:43:33.853Z] INFO  [1773]  - [Application update local-2021-03-25-a@121/AppDeployStage0/AppDeployPreHook/12_update_permissions.sh] : Completed activity. Result:
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_user
  + EB_APP_USER=webapp
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_base_dir
  + EB_APP_BASE_DIR=/var/app
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_staging_dir
  + EB_APP_STAGING_DIR=/var/app/ondeck
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_logs_dir
  + EB_APP_LOGS_DIR=/var/app/support/logs
  + cd /var/app/ondeck
  + chown -R webapp:webapp /var/app
  + chown -R webapp:webapp /var/log/httpd
  + '[' -f app/SymfonyRequirements.php ']'

节点上的磁盘使用率只有大约 30%。我有一个附加的 EFS 卷,其中包含大约 90k 文件,主要是用户数据文件。我怀疑权限脚本正在尝试更新所有这些文件并且花费的时间太长。

但是我不知道如何停止它,或者我是否可以增加 EB 等待部署成功的时间。

我通过在 EB 的部署配置中延长命令超时来解决这个问题。默认值为 300 秒。