В настоящее время я запускаю одно приложение NodeJS Sails в двух разных «средах» в рамках одного и того же приложения «Упругий бобовый переплет» (специальные условия AWS в кавычках). Мое намерение состояло в том, чтобы эти «среды» служили постановкой и производством. Sails предоставляет встроенный метод для свопинга конфигураций на основе переменной окружения NODE_ENV
. Однако, когда я устанавливаю переменную среды в одной «среде», она переопределяет значение для другой.Переменные среды AWS Elastic Beanstalk, переопределяющиеся на уровне приложения EB
Я попытался использовать команду AWS CLI eb setenv NODE_ENV="environment_name"
, а также использовать веб-интерфейс. (Соответствующая установка находится в Application > Environment > Configuration > Software Configuration
в заголовке «Свойства среды».)
Я пытаюсь найти эту проблему, но мне было трудно найти что-либо, что конкретно относится к ней. Ответы, такие как the selected one here, подразумевают, что можно делать то, что я ищу.
Есть ли что-то не так с тем, как я устанавливаю эту переменную? Неужели я неправильно понимаю, как Эластичный Beanstalk обрабатывает эти настройки? Я понимаю, что я также могу установить переменные среды, изменив файл .ebextensions
для разных развертываний, но я предпочел бы более чистое исправление.
В соответствии с просьбой, вот выход из eb status
и eb list
(фактического названия приложения заменено):
$ eb status
Environment details for: app-staging
Application name: app
Region: us-east-1
Deployed Version: 1.1.0
Environment ID: e-fxxxxxxxxx
Platform: 64bit Amazon Linux 2015.03 v2.0.1 running Node.js
Tier: WebServer-Standard
CNAME: app-staging.elasticbeanstalk.com
Updated: 2015-12-08 03:54:37.894000+00:00
Status: Ready
Health: Green
$ eb list
app-production
* app-staging
переменные среды для среды и не переопределяют друг друга. вы можете вставить. выведите «список eb», чтобы увидеть, что на самом деле у вас есть два разделенных. Единственная проблема в вашем посте - это то, что вы забыли добавить целевую env в команду 'eb setenv'. но опять же, работа с веб-интерфейсом должна была сработать. – Tal
Спасибо, я добавил эту информацию. Я думал, что когда я настроил EB CLI, я выбрал конкретную среду для работы, но я обязательно попробую использовать флаг '[-e environment]' и дам вам знать. –