AWS和Ruby Stack - 弹性beanstalk部署出现错误

时间:2015-06-16 09:30:28

标签: ruby-on-rails amazon-web-services elastic-beanstalk

我有一个使用AWS Elastic Beanstalk配置的Ruby堆栈。上周,我的所有部署都没问题,但是由于我尝试将MySQL RDS DB更改为使用UTF-8,因此每次运行eb deploy时都会遇到此问题:

INFO: Environment update is starting.                               
INFO: Deploying new version to instance(s).                           
ERROR: UnicodeEncodeError :: 'ascii' codec can't encode character u'\u2018' in position 90: ordinal not in range(128)

当我检查AWS EB界面时,收到此错误消息:

[Instance: i-2a4575cc] Command failed on instance. Return code: 1 Output: cp: cannot stat ‘/var/tmp/backup/10_bundle_install.sh’: No such file or directory. Hook /opt/elasticbeanstalk/hooks/appdeploy/post/05_revert_bundle_install_local.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.

最后,我检查了上面提到的/var/log/eb-activity.log,最后几行如下:

[2015-06-16T09:03:39.079Z] INFO  [23525] - [CMD-AppDeploy/AppDeployStage1/AppDeployEnactHook] : Completed activity. Result:
  Successfully execute hooks in directory /opt/elasticbeanstalk/hooks/appdeploy/enact.
[2015-06-16T09:03:39.079Z] INFO  [23525] - [CMD-AppDeploy/AppDeployStage1/AppDeployPostHook] : Starting activity...
[2015-06-16T09:03:39.079Z] INFO  [23525] - [CMD-AppDeploy/AppDeployStage1/AppDeployPostHook/05_revert_bundle_install_local.sh] : Starting activity...
[2015-06-16T09:03:39.088Z] INFO  [23525] - [CMD-AppDeploy/AppDeployStage1/AppDeployPostHook/05_revert_bundle_install_local.sh] : Activity execution failed, because: cp: cannot stat ‘/var/tmp/backup/10_bundle_install.sh’: No such file or directory (ElasticBeanstalk::ExternalInvocationError)
caused by: cp: cannot stat ‘/var/tmp/backup/10_bundle_install.sh’: No such file or directory (Executor::NonZeroExitStatus)

[2015-06-16T09:03:39.088Z] INFO  [23525] - [CMD-AppDeploy/AppDeployStage1/AppDeployPostHook/05_revert_bundle_install_local.sh] : Activity failed.
[2015-06-16T09:03:39.088Z] INFO  [23525] - [CMD AppDeploy/AppDeployStage1/AppDeployPostHook] : Activity failed.
[2015-06-16T09:03:39.088Z] INFO  [23525] - [CMD-AppDeploy/AppDeployStage1] : Activity failed.
[2015-06-16T09:03:39.088Z] INFO  [23525] - [CMD-AppDeploy] : Completed activity. Result:
  Command CMD-AppDeploy failed.

问题似乎来自05_revert_bundle_install_local.sh脚本中请求的cp命令:

cp -a /var/tmp/backup/10_bundle_install.sh /opt/elasticbeanstalk/hooks/appdeploy/pre/10_bundle_install.sh

/var/tmp/backup/10_bundle_install.sh不存在。

你知道会发生什么吗?我如何解决它以避免错误消息并进行干净的部署?

谢谢!

1 个答案:

答案 0 :(得分:1)

看看here

显然在安装默认示例应用程序时,beanstalk也会安装此文件并“忘记”删除它。所以解决方案就是手动删除它。