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