ansible-pull#
Утилита ansible-pull используется для получения наборов сценариев Ansible из репозитория VCS и их выполнения на управляемом узле.
В минимальном формате запуск утилиты ansible-pull выглядит следующим образом:
ansible-pull [ARGUMENTS] -U <REPOSITORY> [PLAYBOOK]
где:
ARGUMENTS– аргументыansible-pull.-U <REPOSITORY>– URL Git-репозитория с наборами сценариев.PLAYBOOK– название файла набора сценариев.
Аргументы утилиты:
- --accept-host-key#
Добавление ключа узла для URL репозитория, если он еще не добавлен.
- --become-password-file <BECOME_PASSWORD_FILE>, --become-pass-file <BECOME_PASSWORD_FILE>#
Путь к файлу с паролем для повышения привилегий.
- --check#
Запуск команды в режиме проверки (без фактического выполнения).
- --clean#
Очистка измененных файлов в рабочем репозитории.
- --connection-password-file <CONNECTION_PASSWORD_FILE>, --conn-pass-file <CONNECTION_PASSWORD_FILE>#
Путь к файлу с паролем для установления соединения.
- --diff#
Отображение разницы при изменении файлов или шаблонов.
- --full#
Полное клонирование репозитория.
- --list-hosts#
Вывод списка узлов, для которых будет выполнена команда. Целевое действие команды при этом не выполняется.
- --private-key <PRIVATE_KEY_FILE>, --key-file <PRIVATE_KEY_FILE>#
Путь к файлу приватного ключа SSH.
- --purge#
Удаление репозитория после выполнения сценария.
- --scp-extra-args <SCP_EXTRA_ARGS>#
Дополнительные аргументы для утилиты
scp.
- --sftp-extra-args <SFTP_EXTRA_ARGS>#
Дополнительные аргументы для утилиты
sftp.
- --ssh-extra-args <SSH_EXTRA_ARGS>#
Дополнительные аргументы для утилиты
ssh.
- --ssh-common-args <SSH_COMMON_ARGS>#
Дополнительные аргументы для утилит
ssh,scpиsftp.
- --skip-tags#
Пропуск выполнения задач и сценариев с указанными тегами.
Может быть указан несколько раз.
- --track-subs#
Включение отслеживания изменений в модулях Git.
Действие, аналогичное
git submodule update --remote.
- --vault-id#
Идентификатор Ansible Vault.
Может быть указан несколько раз.
- --vault-password-file, --vault-pass-file#
Путь к файлу с ключом для расшифровки секретов, хранящихся в Ansible Vault.
- --verify-commit#
Проверка GPG-подписи у загруженного коммита и прекращение выполнения при неудачной проверке.
- --version#
Вывод версии Ansible, пути к файлу настроек и пути поиска модулей.
- -C <CHECKOUT>, --checkout <CHECKOUT>#
Переключение на указанную ветку, тег или коммит.
Значение по умолчанию: настройка репозитория.
- -J, --ask-vault-password, --ask-vault-pass#
Включение запроса пароля хранилища.
- -K, --ask-become-pass#
Включение запроса пароля для повышения привилегий.
- -M, --module-path#
Путь к каталогу с модулями Ansible.
Может быть указан несколько раз.
Значение по умолчанию:
~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules.
- -T <TIMEOUT>, --timeout <TIMEOUT>#
Таймаут ожидания подключения (в секундах).
- -U <URL>, --url <URL>#
URL репозитория с наборами сценариев.
- -c <CONNECTION>, --connection <CONNECTION>#
Тип соединения.
Значение по умолчанию:
ssh.
- -d <DEST>, --directory <DEST>#
Путь к каталогу для клонирования репозитория.
- -e, --extra-vars#
Передача дополнительных переменных в формате
key=value, YAML или JSON.Может быть указан несколько раз.
- -f, --force#
Выполнение сценария даже при невозможности обновления репозитория.
- -h, --help#
Вывод справки.
- -i, --inventory#
Путь к файлу инвентаря или список узлов через запятую. Поддерживает динамический инвентарь.
Может быть указан несколько раз.
- -k, --ask-pass#
Включение запроса пароля для повышения привилегий.
- -l <SUBSET>, --limit <SUBSET>#
Ограничение списка узлов, на которых выполняется команда.
- -m <MODULE_NAME>, --module-name <MODULE_NAME>#
Название модуля VCS, который будет использован для выполнения задачи.
Возможные значения:
git;subversion;hg;bzr.
Значение по умолчанию:
git.
- -o, --only-if-changed#
Запуск сценария только при наличии изменений в репозитории.
- -s <SLEEP>, --sleep <SLEEP>#
Задержка перед началом выполнения (случайное число от 0 до
SLEEPсекунд).
- -t, --tags#
Выполнение задач только с указанными тегами.
Может быть указан несколько раз.
- -u <REMOTE_USER>, --user <REMOTE_USER>#
Название учетной записи для подключения к управляемому узлу.
Значение по умолчанию:
None.
- -v, --verbose#
Включение подробного вывода, показывающего больше информации о выполнении команды.
Увеличение уровня детализации возможно при добавлении нескольких
-v. Утилита может выводить до-vvvvvv. Рекомендуемый уровень для общей отладки –-vvv, для отладки соединений –-vvvv.
Примеры использования:
ansible-pull -U https://github.com/myorg/myrepo.git site.yml
ansible-pull -U https://github.com/myorg/myrepo.git -d /opt/ansible
ansible-pull -U https://github.com/myorg/myrepo.git -u ansible
ansible-pull -U https://github.com/myorg/myrepo.git --vault-password-file ~/.vault_pass
ansible-pull -U https://github.com/myorg/myrepo.git -t webserver
ansible-pull -U https://github.com/myorg/myrepo.git --skip-tags database