Взаимодействие с Git из Ansible
Модуль Ansible Git
Модуль Ansible git позволяет выполнять операции, связанные с контролем версий, на удаленных хостах. Он является частью ядра ansible и доступен при любой установке Ansible по умолчанию.
Используя модуль git, вы клонируете репозитории, создаете архивы из репозиториев, получаете запросы на вытягивание и многие другие операции.
Репозиторий клонов Ansible
Вы можете клонировать репозиторий git, как показано в примере playbook.
--- - hosts: all gather_facts: no tasks: - name: Gitclonerepo git: repo: "https://example.com/repo" dest: ~/user/repo clone: yes update: yes
Репозиторий Ansible Checkout Git.
Чтобы проверить конкретный репозиторий с помощью модуля Ansible git, вы можете использовать пример playbook:
--- - hosts: all gather_facts: no tasks: - name: Gitcheckout. git: repo: "https://foosball.example.org/repo.git" dest: ~/user/repo
Приведенный выше сценарий должен проверять указанный репозиторий на путь в параметре dest.
Создать архив из репозитория
Ansible позволяет использовать модуль git для создания архива из репозитория.
--- - hosts: all gather_facts: no tasks: - name: Gitcreatearchive git: repo: "https://foosball.example.org/repo.git" dest: ~/user/repo archive: ~/user/repo.zip
Единичная ветвь клонирования Ansible
Если вы хотите клонировать одну ветку из repo, вы можете использовать пример playbook:
--- - hosts: all gather_facts: no tasks: - name: Gitclonesinglebranch git: repo: "https://example.com/repo" dest: ~/user/repo single_branch: yes version: branch1