Содержание

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