2015-01-12 2 views
3

Расположение и поведение файлов, используемых для установки свойств среды AWS Elastic Beanstalk (например, статических сопоставлений каталогов или переменных окружения), похоже, изменилось, так что большая часть доступной информации в Интернете кажется устаревшей (или, в лучшем случае, запутанной). В частности, в то время как ясно, что only a single file is currently required для конфигурации самой среды, не ясно, что отношения междуГде должны храниться файлы конфигурации AWS EB?

  • .elasticbeanstalk/optionsettings.*

и

  • .ebextensions/*.config

в настоящее время.

Какой из этих файлов следует использовать для настройки свойств среды AWS EB (например, статических сопоставлений каталогов или переменных среды) с использованием текущего API и (3.x) CLI?


Например, где должен храниться файл с таким содержимым?

option_settings: 
    "aws:elasticbeanstalk:application:environment": 
    SOME_PUBLIC_CONFIG: "true" 
    SOME_OTHER_THING: "foo" 
    "aws:elasticbeanstalk:container:python:staticfiles": 
    "/static/": "myapp/static/" 

ответ

2

Вы можете установить любую опцию с помощью ebextensions. Это будет работать независимо от того, развертываете ли вы свой код с помощью api, веб-консоли или CLI.

Создайте папку в корне вашего проекта с именем .ebextensions и в этой папке поместите файл .config (точки важны). Затем добавьте в свой контент:

Затем вам необходимо развернуть новую версию приложения. Используя CLI, вам нужно будет проверить это на git (при использовании git), затем используйте eb deploy.


Что касается различий между этим и .elasticbeanstalk/optionsettings файлы:

CLI 3.X больше не использует optionsettings файлы, поскольку они часто отменяют настройки в ebextensions. Файлы настроек параметров имели более высокий приоритет, чем ebextensions, поэтому, если вы когда-либо установили что-либо в файле optionsettings, он больше не будет работать, если будет изменен в ebextensions. Ebextensions - это сервисная функция, которая означает, что они всегда работают независимо от того, какой клиент вы используете. Файлы настроек параметров были особенностью CLI, что сделало жизнь действительно запутанной для тех, кто использует несколько клиентов. Таким образом, 3.x не использует файлы настроек.

+1

Кроме того, я предполагаю, что я должен убедиться, что '.ebextensions/*' не игнорируется Git, правильно? – orome

+0

Правильно, иначе он не попадет в ваш источник приложения. Вы должны будете иметь возможность зафиксировать .ebextensions в git –

+0

И спасибо за разъяснение того, как файлы параметров и есть и были использованы. Это вызывало много путаницы (особенно, поскольку на SO есть много устаревших ответов). Теперь я знаю, куда направлять все мои вопросы AWS-EB! – orome

Смежные вопросы