Недавно я начал использовать Chef, и мне он нравится за то, что он снабжает мои бродячие коробки и быстро создает новые механизмы.
Теперь я начал использовать размещенный шеф-сервер.
Довольно легко управлять своими кулинарными книгами, используя Беркшельф со всеми необходимыми кулинарными книгами, распределенными по нескольким репозиториям git.
Но теперь я хочу иметь аккуратное управление для своих пакетов данных / сред / узлов / ролей и т. Д. ...
Я хочу, чтобы файлы json, содержащие эти конфигурации, синхронизировались с сервером Chef.
Единственный способ сделать это - использовать knife upload
. Я не хочу писать кучу скриптов для загрузки локальных файлов на свой шеф-сервер.
Так есть ли решение, которое позволяет мне легко загружать все мои вещи на сервер шеф-повара? Желательно привязать к git push (чтобы все мои вещи были обновлены на шеф-поваре, после того, как я нажму репозиторий git)
Я недавно нашел пряник который позволяет настроить инфраструктуру шеф-повара с использованием файлов YAML.
Вы можете создать хук git post-push, который загружает все:
#!/bin/bash
knife cookbook upload --all
knife role from file roles/*.rb
knife data bag from file --all
Но поскольку git делает нет локального хука post-push, вы должны подключить его к чему-то другому.