Мы используем Vagrant & Chef для предоставления промежуточной виртуальной машины для нашего приложения.
Когда у меня есть рабочая кулинарная книга, я загружаю ее на сервер шеф-повара, и ловушка Jenkins обеспечивает обновление промежуточного env.
Однако мне непонятно, как опробовать поваренную книгу, прежде чем загружать ее. Я не могу использовать chef-solo, потому что мы используем среду.
Стоит ли запускать chef-сервер локально в виртуальной машине и загружать его туда? Или мне следует исправить версии поваренной книги в списках выполнения и загрузить новую версию (чтобы при постановке по-прежнему использовалась старая версия и не ломалась, если новая версия неверна)?
Как ты делаешь это?
Я предлагаю использовать Тестовая Кухня с провизором chef-zero.
Вот несколько примеров, в которых это используется:
Чтобы включить ноль в качестве инициатора, поместите его в .kitchen.yml
provisioner:
name: chef_zero
Вам нужно будет создать фиктивные среды, которые вы должны создать как файлы JSON в test/integration/environments
.
Дополнительная документация по Test Kitchen поддерживается Документы повара