Engineyard command line: ey web restart not workin

2019-08-29 22:49发布

I recently installed the engineyard gem. When I try to run 'ey web restart', I get the following error:

/home/jplato/.rvm/gems/ruby-2.2.0/gems/engineyard-3.1.2/lib/engineyard/thor.rb:32: warning: circular argument reference - serverside_version Loading application data from Engine Yard Cloud... Restarting servers on jplato / my_app / Rails4

Value for 'serverside_version' must be non-empty.

Tried setting the environment variable ENGINEYARD_SERVERSIDE_VERSION=2.2.0, to match the serverside adapter gem version, but it didn't work. The other ey commands that don't use this variable (such as ey status) work fine.

Here's some info on my dev machine environment: OS: Ubuntu 14.04

gem -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条回答
一纸荒年 Trace。
2楼-- · 2019-08-29 23:51

Try pushing out a deploy of your application with the engineyard gem itself instead of through the dashboard. That may force the version of engineyard-serverside to be more up to date. I can't guarantee that'll work, but it's one thing you can do to rule things out (if you haven't already). When a deploy goes through the dashboard, it may use a different version of engineyard-serverside than if you push it through the CLI. That engineyard-serverside gem is what orchestrates the "bounce" of the app server itself.

Alternatively, you can run:

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

to have the engineyard gem run that script (which restarts your app server - e.g. Unicorn, etc.) on the environment named "your_env_name" and only run the command on application servers. (Be sure to actually substitute your application name for < appname > of course.)

If that still fails, you should probably open a support ticket because there's likely something else kinda funky going on there. Good luck!

查看更多
登录 后发表回答