2017-02-21 36 views
1

У меня есть поваренная книга повара с четырьмя рецептами. Каждый рецепт настраивает веб-приложение:Использование нескольких рецептов в одной поваренной книге

myCookbook 
    | 
    |_ _ recipes 
     |_ _ default.rb 
     |_ _ app1.rb 
     |_ _ app2.rb 
     |_ _ app3.rb 
     |_ _ app4.rb 

Я настроил эту поваренную книгу для обновления приложений на основе рецепта default.rb, что просто перебирает другие рецепты веб-приложения и запускает их. Кулинарная книга запускается обновленной версией веб-приложения в пакете данных.

Потому что я поместил все приложения в одну кулинарную книгу, если я хочу обновить одно приложение, тогда я должен обновить их все. Я могу вручную переопределить список задач, чтобы просто развернуть одно приложение, но есть ли способ: «knife diff» пакет данных в рецепте по умолчанию (или что-то в этом роде), чтобы запустить только соответствующий рецепт обновленной версии веб-приложения ?

ответ

2

Вам нужно будет реализовать diff самостоятельно, используя локальную копию отслеживания idempotence. В целом я бы рекомендовал переработать ваши рецепты, чтобы быть идемпотентными и сходящимися.

1

Вместо этого вы должны написать собственные конвергентные рецепты.

Если основная причина использования внешнего рецепта (по умолчанию один) здесь, чтобы не писать один и тот же код снова и все рецепты (код, который обновляет приложение), вы должны попробовать записать тогда в library или custom resource которые будут доступны для всех ваших рецептов приложений.

В документации по онлайн-шеф-повару достаточно информации об этом, также довольно легко, если у вас есть базовое знание Ruby.

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

  • Нет связанных вопросов^_^