Кухонный докер: как выполнить команду оболочки до того, как кухонный конвергент сойдет

При использовании бродячих машин с тест-кухней pre_create_command позволяет указать команду, которая запускается локально до создания бродячей машины. С кухонным докером такой опции конфигурации, похоже, не существует, и гнуть chef_omnibus_url как предложено здесь, не вариант.

Сценарий указан как pre_create_command для тестирования бродяги генерирует пакет данных местного шеф-повара.

Есть ли решение, которое я не заметил?

2 ответа

Это можно сделать с помощью

driver_config:
  provision_command: <command>

в kitchen.yml

Узнайте больше здесь

Kr,

Ршад

Лучшие практики включают Rakefile и Thor.

По сути, вы контролируете свои тесты из Rakefile. Например:

rake style

Это запустит все команды под ваши задачи стиля (возможно, lint/syntax/unit и kitchen tests). Конечно, вы можете изменить ваши задачи, чтобы выполнять все, что вам нравится. Вот несколько хороших ресурсов:

https://blog.chef.io/2015/04/21/overview-of-test-driven-infrastructure-with-chef/

См. Раздел "Вспомогательные инструменты и зависимости".

Вот пример Rakefile:

https://github.com/chef-cookbooks/chef-server/blob/master/Rakefile

Я набросал патч для кухонного докера здесь. Однако, как показывает обсуждение этого запроса, есть аргументы против соответствующей функциональности в кухонном докере, а именно тот, который такой функциональности (если вообще когда-либо) должен идти в ядре кухни.

Таким образом, в настоящее время мы должны жить с этим несоответствием между докером и бродягой, и именно здесь ответ Туна вступает в игру.

Другие вопросы по тегам