У меня есть установка группы машин (серверов Ubuntu), которые географически разделены и используются для разработки одной и той же кодовой базы. Иногда мне нужно установить пакеты на машину с моего сайта, а затем по ssh для всех остальных и установить пакеты там же. Я хотел бы автоматизировать это, и если я Я установил новый пакет на моем компьютере (главном), он будет автоматически установлен на остальных. Процесс не должен быть мгновенным, его можно выполнить за ночь.
Для этого я попытался использовать марионетку с ресурсом 'package', но это означает, что мне нужно будет добавить еще одну запись для каждого недавно установленного пакета . Нет ли другого подхода (например, проверить установленные пакеты и вставить новую запись с новым пакетом)?
Я также просмотрел модуль apt для марионетки, но не нашел ничего, связанного с этим напрямую.
Я знаю, что это невозможно сделать.
Я могу предположить, что вы подходите к этому несколько с неправильным отношением.
Идея Puppet заключается в , а не выполнять кучу ручной работы на одном сервере, чем реплицировать эту конфигурацию на другие серверы.
Идея состоит в том, чтобы вы объявляли , как вы хотите, чтобы ваши серверы выглядели Puppet, а затем Puppet заставляет все серверы выглядеть именно так.
Я бы рекомендовал полностью прекратить установку пакетов вручную, где этого можно избежать. Просто обновите свои манифесты Puppet, когда вы хотите установить новый пакет.
Кроме того, убедитесь, что ваши манифесты хранятся в системе управления версиями, такой как Git, чтобы вы могли отслеживать изменения по мере их внесения.