Отладка рецептов шеф-повара без бродячего уничтожения и повторного предоставления.
Вопрос
Мы работаем над рецептом шеф-повара, который собирает PHP из исходного кода.Однако каждый раз, когда мы вносим изменения в наш рецепт и хотим запустить его снова, это занимает много времени (около 20 минут).
Что мы делали, так это вносили изменения, а затем использовали:
vagrant destroy
с последующим:
vagrant up
Было бы неплохо, если бы мы могли каким-то образом повторно запустить наш единственный рецепт, который мы пытаемся обновить.
Кто-нибудь знает, как мы могли бы это сделать?Или как vagrant определяет, что наш рецепт PHP уже установлен/выполнен?
Решение
Генеракодицетагкод должен сделать это для вас.Шеф-повар должен заботиться только о том, чтобы бежать только то, что нужно бежать ... как измененный рецепт.
Другие советы
Вы можете использовать:
vagrant provision
Это приведет к повторному выполнению шага подготовки, который vagrant ssh
и запускает шеф-повара.
Если вы используете Chef Server с шеф-клиентом, вам необходимо загрузить кулинарную книгу на сервер с помощью ножа после внесения локальных изменений.Затем шеф-клиент на бродячей машине загрузит измененные файлы.
Если вы используете Chef Solo, вы можете делиться папками с виртуальной машиной, поэтому внесенные изменения будут немедленно применены, вместо того, чтобы копировать их на виртуальную машину.