Назад | Перейти на главную страницу

Opsworks & Chef - Настройте каждое развернутое приложение, используя одни и те же рецепты

У меня есть набор рецептов по развертыванию приложений Python на экземплярах AWS, они работают хорошо. Я хочу развернуть два разных приложения с небольшими различиями, например, для одного требуется установленный асинхронный рабочий код, а для другого нет. Как мне это сделать?

Мои варианты, как я их вижу:

  1. Создайте два приложения в OpsWorks и установите переменные env для каждого, которые рецепты могут использовать, чтобы решить, следует ли / как выполнять определенные задачи.
  2. Создайте файл (ы) в репозитории с подробным описанием требований приложения.
  3. Добавляйте пользовательский JSON для каждого развертывания.

Ни один из этих вариантов мне не кажется идеальным, я что-то упустил? Имеет

Варианты 1 и 3 "эффективно" (я говорю это примерно) одинаковы. Вы в основном передаете различия через JSON. Я лично использовал и успешно создал два разных приложения в OpsWorks, но я также был очень заинтересован в способности младшего ресурса изменять некоторые элементы, но не иметь доступа к паролям или другим конфиденциальным атрибутам. Прямой ответ, вариант 2 заставляет меня дергаться больше всего. Вариант 1/3 лучше, но зависит от ваших потребностей.