AWS Elastic Beanstalk -- rails 部署问题



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

[实例:i-09d1c36b765b9a656] 命令在实例上失败。返回 代码:18 输出:(截流)...g:捆绑器的运行版本 (1.16.2) 早于创建锁定文件 (1.17.3) 的版本。 我们建议您通过运行升级到最新版本的捆绑程序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 命令行界面。

所以我运行了eb ssh: 安装了 rvm 和 ruby 2.3.4 并将其设为默认值 安装了捆绑程序 v 1.17.3 并将其设为默认值

但是当我运行 eb 部署时,我收到同样的错误。 我做错了什么?

原木:

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

[2019-07-12T16:20:25.830Z] 信息 [9280] - [应用程序更新 app-260b-190712_161857@9/AppDeployStage0/AppDeployPreHook/10_bundle_install.sh] :活动失败。[2019-07-12T16:20:25.830Z]信息 [9280] - [应用程序更新 app-260b-190712_161857@9/AppDeployStage0/AppDeployPreHook] : Activity 失败。[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]:已完成的活动。结果:应用程序 update - 命令 CMD-AppDeploy 失败

我在启动新的开发盒时得到这个,因为我总是忘记更新我的初始化脚本。

你可以做的是设置一个钩子来重新安装捆绑器,它基本上是删除并安装它的脚本

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

最新更新