Пример сценария: файлы конфигурации для определенной службы хранятся под контролем версий в частном репозитории github. Я хочу написать playbook, который извлекает один из этих файлов на удаленном узле и помещает его в нужное место.
Я могу придумать несколько решений для этого:
- выполнить проверку на машине, которая запускает
local_action
(local_action
), а затем использовать модульcopy
- выполните проверку на удаленном узле (с помощью
git
модуля), скопируйте файлы в нужное место с помощьюcommand: cp src dest creates=dest
(возможно, сделайте это с помощью обработчика - только когда репо имеет изменения, которые нужно вытащить) - используйте модуль url или
command: wget https://raw.github.com/repo/.../file creates=file
в учебнике для загрузки только интересующего файла. Действительно лиcommand
модуль проверяет, отличается ли файл, который уже существует, или он просто проверяет наличие файла? - используйте wget на машине, которая запускает
local_action
(local_action
), а затем используйте модуль копирования, чтобы направить его на удаленный узел
Каковы преимущества/недостатки этих. Какие (если таковые имеются) из них можно считать хорошей практикой. Какое наилучшее общее решение?