Представьте, что Дженкинс генерирует 3 разных дистрибутива: один на javascript, работающий на NodeJS, другой на python, запущенный на apache с модулем python, а другой на Java с использованием Springboot. Как вы пишете поваренную книгу шеф-повара, чтобы установить их все в локальной инфраструктуре с минимальным дистрибутивом linux ubuntu. Сфера охвата проблемы включает захват триггера от Дженкинса, а затем запуск стартовых книг для разворачивания этих 3 приложений. Основываясь на конфигурации, все 3 приложения должны быть развернуты на одной и той же инфраструктуре или в другой инфраструктуре развертывания.Как написать поваренную книгу повара для нескольких приложений
ответ
Так несколько вещей:
Как вы пишете поваренные книги до вас полностью. У меня есть несколько примеров на http://github.com/poise/application_examples для Python, Ruby и Node, но это только мой взгляд на эту тему. Всякий раз, когда вы спрашиваете: «Как мне сделать X с шеф-поваром?» ответ всегда «Как бы вы сделали X без шеф-повара, а затем автоматизировали это».
Как вызвать разворот от Дженкинса немного более нечеткий, чем тот, который уже очень-нечеткий. Самый простой ответ - включить Jenkins SSH в каждую машину и запустить
chef-client
. Однако это может иметь последствия для безопасности, которые вам не нравятся. Вы можете посмотреть более специализированные системы командной строки, такие как MCollective, SaltStack или, возможно, Chef Push Jobs (хотя я бы пропустил последний). Вы также можете просто настроить свои узлы для автоматического слияния каждые 5 минут, чтобы все Jenkins обновляли некоторые вещи на Chef Server, чтобы сказать, какую версию развернуть, а затем ждет 10 минут.
У меня есть аналогичный случай с вашим, используя TeamCity вместо Дженкинса. (Но вы можете повторить подобное поведение)
В моем случае я использую policy_files для управления своей инфраструктурой, где передаю в качестве атрибутов информацию о сборке, чтобы я мог загружать артефакты в рецепт. Главный трюк имеет сборку, которая запускается службами, которые вы упоминаете (Python, Java ... безотносительно), обновляя атрибуты (имя сборки, имя артефакта ...) в файле policy_file при совершении GIT результата.
В резюмировать:
- Построить за свои услуги завершен.
- Сборка для ваших политик_файлов инициируется обновлением информации о загрузке artefact.
- Ваш обычный рабочий процесс сборки.
Чтобы загрузить артефакты, вы можете использовать ресурс chef remote_file, делая проверку контрольной суммы, чтобы избежать загрузки одного и того же файла на каждом проходе повара.
- 1. Как выполнить поваренную книгу повара?
- 2. Как переименовать поваренную книгу повара?
- 3. бродяга запустить поваренную книгу повара
- 4. Как создать поваренную книгу повара в репозитории git?
- 5. Загрузите мою поваренную книгу с моего сервера шеф-повара
- 6. OpsWorks - что включить в пользовательскую поваренную книгу
- 7. Поваренные книги для повара-шеф-повара применяют только поваренную книгу только
- 8. Как я могу добавить нескольких сопровождающих в Поваренную книгу шеф-повара?
- 9. запустить пользовательскую поваренную книгу в aws opsworks
- 10. Невозможно установить поваренную книгу в шеф-поваре
- 11. Как использовать поваренную книгу для шеф-повара PHP для установки версии выше 5.3.3
- 12. Шеф-повар, создающий поваренную книгу
- 13. Как настроить поваренную книгу поваренной книги Зависимости в файле метаданных
- 14. Шеф-повар - Как запустить поваренную книгу на местном уровне
- 15. Как обновить поваренную книгу, которая была добавлена в супермаркет шеф-повара?
- 16. Как применять поваренную книгу/рецепты поваров к нескольким узлам?
- 17. Шеф-повар не собирает мою местную поваренную книгу
- 18. Шеф-повар, чтобы снова запустить поваренную книгу
- 19. Berkself не разрешит поваренную книгу на github
- 20. запустить клиент шеф-повара автоматически, только когда я загружу свою поваренную книгу
- 21. Berkshelf: загрузите поваренную книгу обертки и ее зависимости к серверу шеф-повара одновременно
- 22. не удалось загрузить поваренную книгу с помощью команды knife
- 23. Сервер шеф-повара, установите поваренную книгу, которая не из поваренной книги
- 24. поварский нож с ошибкой ключа после попытки загрузить поваренную книгу
- 25. Шеф-повар выпускает поваренную книгу из предыдущей ветки git
- 26. , где я могу получить поваренную книгу для видеокодирования/PDF/учебник
- 27. Как использовать поваренную книгу RVM вместе с пассажиром?
- 28. не удалось загрузить поваренную книгу с ножа на шеф-сервер
- 29. Почему chefspec не может найти поваренную книгу chef_handler?
- 30. «Файл« /usr/lib/ruby/vendor_ruby/chef/checksum_cache.rb »недоступен» при попытке загрузить поваренную книгу
Добро пожаловать в StackOverflow. Пожалуйста, прочитайте [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask). Твое невероятно широкое, и я бы сказал «хорошо .. просто сделай это, где проблема»? Вы должны четко указать, в чем проблема, с которой вы столкнулись. – StephenKing
P.S: Эти _playbooks_ называются _cookbooks_ по терминологии шеф-повара. Я обновил ваш вопрос. – StephenKing