AWS Elastic Beanstalk - не может клонировать с последней платформой или eb upgrade
от Ruby 2.1 до Ruby 2.2
Я разбил мне голову над этим. Еще в мае AWS объявила, что их Ruby Elastic Environments теперь предлагают Ruby-2.2 (например, ruby-2.2-(passenger-standalone)
или ruby-2.2-(puma)
). Я не могу обновить существующие среды ruby-2.1 до ruby-2.2. Кажется, мне нужно полностью воссоздать их... это кажется глупым? Кто-нибудь еще испытывает это? Я просто пропустил что-то простое?
Дополнительная информация
Я с радостью использовал ruby-2.1-(passenger-standalone)
несколько месяцев в моей промежуточной и производственной среде. Теперь я хотел бы обновить их до последней платформы ruby-2.2. Документация AWS говорит, что это довольно тривиально, на самом деле некоторые из их документации даже говорят о том, что вы можете использовать eb clone <env-name> --update
. Этот флаг не существует в EB CLI 3.4.5
, который я использую: (Кроме того, в веб-консоли есть пункт меню "Клонировать с последней платформой", но он отключен.
Похоже, что все, что я могу сделать, чтобы добраться до последних экземпляров Ruby-2.2, - это создать совершенно новую среду с нуля. Это очень раздражает.
Итак, вот что я пробовал...
$ eb status
Environment details for: staging
Application name: xyz
Region: us-west-2
Deployed Version: fbe7
Environment ID: someId
Platform: 64bit Amazon Linux 2015.03 v1.4.3 running Ruby 2.1 (Passenger Standalone)
Tier: WebServer-Standard
CNAME: bla.bla.bla.elasticbeanstalk.com
Updated: 2015-06-26 22:48:59.689000+00:00
Status: Ready
Health: Green
Отлично, подтверждает, что я использую Ruby 2.1. Поэтому попробуйте обновить:
$ eb upgrade
Environment already on most recent platform version.
Хорошо, это хорошо, так что о самой платформе:
$ eb platform select
It appears you are using Ruby. Is this correct?
(y/n): y
Select a platform version.
1) Ruby 2.2 (Puma)
2) Ruby 2.2 (Passenger Standalone)
3) Ruby 2.1 (Puma)
4) Ruby 2.1 (Passenger Standalone)
5) Ruby 2.0 (Puma)
6) Ruby 2.0 (Passenger Standalone)
7) Ruby 1.9.3
(default is 1): 2
Итак, теперь мои настройки платформы:
$ eb platform show
Current default platform: Ruby 2.2 (Passenger Standalone)
New environments will be running: 64bit Amazon Linux 2015.03 v1.4.3 running Ruby 2.2 (Passenger Standalone)
Platform info for environment "staging":
Current: 64bit Amazon Linux 2015.03 v1.4.3 running Ruby 2.1 (Passenger Standalone)
Latest: 64bit Amazon Linux 2015.03 v1.4.3 running Ruby 2.1 (Passenger Standalone)
Итак, новые среды будут использовать версии Ruby-2.2. Это здорово, но серьезно ли мне приходится удалять мои уже настроенные версии Ruby-2.1 вместо недавно созданной версии Ruby-2.1? Давай?