====== Взаимодействие с 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