Engineyard命令行:ey web重新启动不起作用



我最近安装了engineyard gem。当我尝试运行"ey web重新启动"时,我得到以下错误:

/home/jplato/.rvm/gems/ruby-2.2.0/gems/engineyard-3.12/lib/engineyyard/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

gem-v2.4.6

rvm-vrvm 1.26.10

gem列表--本地

  • 发动机舱(3.1.2)
  • engineyard云客户端(2.1.1)
  • 发动机舱服务器侧适配器(2.2.0)
  • thor(0.19.1)

尝试使用engineyard gem本身而不是通过仪表板来推出应用程序的部署。这可能会迫使engineyard服务器端的版本更加与时俱进。我不能保证这会奏效,但你可以做一件事来排除(如果你还没有)。当部署通过仪表板时,它可能会使用与通过CLI进行部署不同版本的engineyard服务器端。engineyard服务器端的gem是协调应用程序服务器本身"反弹"的原因。

或者,您可以运行:

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

让engineyard gem在名为"your_env_name"的环境中运行该脚本(它会重新启动你的应用服务器,例如Unicorn等),并且只在应用服务器上运行该命令。(当然,一定要用您的应用程序名称替换<appname>。)

如果仍然失败,你可能应该开一张支持票,因为那里可能还有其他一些奇怪的事情发生。祝你好运

最新更新