5.0 KiB
git
Install and configure git on your system.
| GitHub | GitLab | Quality | Downloads | Version |
|---|---|---|---|---|
Example Playbook
This example is taken from molecule/resources/converge.yml and is tested on each push, pull request and release.
---
- name: Converge
hosts: all
become: yes
gather_facts: yes
vars:
git_username: root
git_groupname: root
git_repository_destination: /root
git_repositories:
- repo: https://github.com/robertdebock/robertdebock.bootstrap
dest: bootstrap
- repo: https://github.com/robertdebock/robertdebock.bootstrap
dest: bootstrap-force
force: yes
- repo: https://github.com/robertdebock/robertdebock.bootstrap
dest: bootstrap-version
version: 2.11.1
roles:
- role: robertdebock.git
The machine needs to be prepared in CI this is done using molecule/resources/prepare.yml:
---
- name: Prepare
hosts: all
gather_facts: no
become: yes
serial: 30%
roles:
- role: robertdebock.bootstrap
Also see a full explanation and example on how to use these roles.
Role Variables
These variables are set in defaults/main.yml:
---
# defaults file for git
# The system username in /home where to place the gitconfig file.
# git_username: johndoe
# The group to own directories.
# git_groupname: "{{ git_username }}"
# Settings for git configuration.
# git_user_email: johndoe@example.com
# git_user_name: John Doe
# Where to place the copies of the repositories.
git_repository_destination: /home/{{ git_username | default('unset') }}/Documents/github.com/{{ git_username | default('unset') }}
# Should git force (overwrite locally changed) clone? (Can also be controlled
# per repository, see below.
git_force: no
# The repositories to check out, bootstrap is pinned to a version, java will get HEAD/latest.
# git_repositories:
# - repo: https://github.com/robertdebock/ansible-role-bootstrap.git
# dest: bootstrap
# version: 2.2.4
# - repo: ssh://git@github.com/robertdebock/ansible-role-java.git
# dest: java
# - repo: ssh://git@github.com/robertdebock/ansible-role-tomcat.git
# dest: tomcat
# force: yes
Requirements
- pip packages listed in requirements.txt.
Status of requirements
The following roles are used to prepare a system. You may choose to prepare your system in another way, I have tested these roles as well.
| Requirement | GitHub | GitLab |
|---|---|---|
| robertdebock.bootstrap |
Context
This role is a part of many compatible roles. Have a look at the documentation of these roles for further information.
Here is an overview of related roles:

Compatibility
This role has been tested on these container images:
| container | tags |
|---|---|
| alpine | all |
| amazon | Candidate |
| el | 7, 8 |
| debian | buster, bullseye |
| fedora | all |
| opensuse | all |
| ubuntu | focal, bionic |
The minimum version of Ansible required is 2.10, tests have been done to:
- The previous version.
- The current version.
- The development version.
If you find issues, please register them in GitHub
License
Apache-2.0
Contributors
I'd like to thank everybody that made contributions to this repository. It motivates me, improves the code and is just fun to collaborate.
Author Information
Please consider sponsoring me.