Engineyard命令行:ey web restart无法正常工作

时间:2015-02-27 21:41:15

标签: ruby-on-rails-4 gem engineyard

我最近安装了发动机厂的宝石。当我尝试运行'ey web restart'时,我收到以下错误:

  

/home/jplato/.rvm/gems/ruby-2.2.0/gems/engineyard-3.1.2/lib/engineyard/thor.rb:32:   警告:循环参数引用 - serverside_version正在加载   来自Engine Yard Cloud的应用程序数据...重新启动服务器   jplato / my_app / Rails4

     

'serverside_version'的价值   必须是非空的。

尝试设置环境变量ENGINEYARD_SERVERSIDE_VERSION = 2.2.0,以匹配服务器端适配器gem版本,但它不起作用。不使用此变量的其他ey命令(例如ey status)工作正常。

以下是我的开发机器环境的一些信息: 操作系统:Ubuntu 14.04

宝石-v 2.4.6

rvm -v rvm 1.26.10

gem list --local

  • engineyard(3.1.2)
  • engineyard-cloud-client(2.1.1)
  • engineyard-serverside-adapter(2.2.0)
  • thor(0.19.1)

1 个答案:

答案 0 :(得分:1)

尝试使用engineyard gem本身而不是通过仪表板推出应用程序的部署。这可能会迫使engineyard-serverside的版本更新。我不能保证这样做会有效,但是你可以做的一件事就是把事情排除在外(如果你还没有)。当部署通过仪表板时,它可能使用不同版本的engineyard-serverside,而不是通过CLI推送它。那个engineyard-serverside gem是编排应用服务器本身的“反弹”的原因。

或者,您可以运行:

ey ssh "/engineyard/bin/app_<appname> restart" -e your_env_name --app-servers

让engineyard gem在名为“your_env_name”的环境中运行该脚本(重新启动应用服务器 - 例如Unicorn等)并仅在应用程序服务器上运行该命令。 (当然,请确保将您的应用程序名称替换为&lt; appname&gt;。)

如果仍然失败,你可能应该开一张支持票,因为那里可能还有其他类似的时髦。祝你好运!