AWS Elastic Beanstalk-Rails部署问题

时间:2019-07-12 10:41:25

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

所以我有ruby 2.3.4和bundler v 1.17.3 我尝试使用eb cli将其部署到弹性beantalk 然后我得到一个错误:

  

[实例:i-09d1c36b765b9a656]实例上的命令失败。返回   代码:18输出:(TRUNCATED)... g:Bundler的运行版本   (1.16.2)早于创建锁定文件(1.17.3)的版本。   我们建议您通过运行升级到最新版本的Bundler   gem install bundler。您的Ruby版本是2.3.8,但是您的Gemfile   指定2.3.4。钩   /opt/elasticbeanstalk/hooks/appdeploy/pre/10_bundle_install.sh失败。   有关更多详细信息,请使用控制台或EB检查/var/log/eb-activity.log   CLI。

所以我跑了eb ssh: 安装了rvm和ruby 2.3.4并将其设置为默认值 安装了bundler v 1.17.3,并将其设置为默认值

但是当我运行eb deploy时,会遇到相同的错误。 我在做什么错了?

日志:

  

gem'mocha',组::test +'['-d / var / app / ondeck / vendor / cache   ']'+捆绑安装不要以超级用户身份运行Bundler。捆绑器可以问   对于sudo(如果需要),并以root用户身份安装捆绑软件   为该计算机上的所有非root用户中断此应用程序。
  警告:Bundler(1.16.2)的运行版本早于   创建锁定文件的版本(1.17.3)。我们建议您升级到   通过运行gem install bundler获得Bundler的最新版本。您的   Ruby版本为2.3.8,但您的Gemfile指定了2.3.4   (执行人:: NonZeroExitStatus)

     

[2019-07-12T16:20:25.830Z]信息[9280]-[应用更新   app-260b-190712_161857@9/AppDeployStage0/AppDeployPreHook/10_bundle_install.sh]   :活动失败。 [2019-07-12T16:20:25.830Z] INFO [9280]-   [应用程序更新   app-260b-190712_161857 @ 9 / AppDeployStage0 / AppDeployPreHook]:活动   失败了[2019-07-12T16:20:25.830Z]信息[9280]-[应用程序更新   app-260b-190712_161857 @ 9 / AppDeployStage0]:活动失败。   [2019-07-12T16:20:25.831Z]信息[9280]-[应用程序更新   app-260b-190712_161857 @ 9]:完成的活动。结果:申请   更新-命令CMD-AppDeploy失败

1 个答案:

答案 0 :(得分:0)

启动新的开发工具箱时会得到此提示,因为我总是忘记更新自己的初始化脚本。

您可以做的是设置一个钩子以重新安装捆绑程序,基本上,该脚本是将其删除并重新安装的

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platform-hooks.html

 #/opt/elasticbeanstalk/hooks/appdeploy/01_update_bundler.sh
 #!/bin/sh
 gem uninstall bundler
 gem install bundler -v 1.17.3 # or whatever version you want