The Ansible Git Module
The Ansible git module allows you to execute version control-related operations on remote hosts. It is part of the ansible-core and is available in any default Ansible installation.
Using the git module, you clone repositories, create archives from repositories, fetch pull requests, and many more operations.
Let us take a few real-world examples to use the git module.
Ansible Clone Repository
You can clone a git repository, as shown in the example 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 Repository.
To checkout a specific repository using the Ansible git module, you can use an example playbook as shown below:
- hosts: all
gather_facts: no
tasks:
- name: Gitcheckout.
git:
repo: "https://foosball.example.org/repo.git"
dest: ~/user/repo
The playbook above should check out the specified repository to the path in the dest parameter.
Create Archive from Repository
Ansible allows you to use the git module to create an archive from a repository. An example playbook is as shown:
- hosts: all
gather_facts: no
tasks:
- name: Gitcreatearchive
git:
repo: "https://foosball.example.org/repo.git"
dest: ~/user/repo
archive: ~/user/repo.zip
Ansible Clone Single Branch
If you want to clone a single branch from a repo, you can use an example playbook as shown:
- hosts: all
gather_facts: no
tasks:
- name: Gitclonesinglebranch
git:
repo: "https://example.com/repo"
dest: ~/user/repo
single_branch: yes
version: branch1
Closing
This guide gives a walkthrough of how to use the Ansible git module. Using the examples in this guide, you can now perform git-related operations on remote hosts.