Junior — Middle
How can Ansible Role be stored and managed in the Git version control system?
sobes.tech AI
Answer from AI
Ansible Role can be stored in Git as a separate repository or as part of a monorepository with other roles and playbooks. Typically, the role structure adheres to the Ansible standard (directories like tasks, handlers, templates, vars, etc.).
To manage roles in Git:
- Create a separate repository for the role or a roles/ folder in a common repository.
- Use semantic tags (e.g., v1.0.0) for versioning the role.
- For dependencies between roles, you can use a requirements.yml file and ansible-galaxy to install the required versions.
- When working with multiple roles, it is convenient to use Git submodules or tools like ansible-galaxy install with a Git source.
Example of a role structure in Git:
my-ansible-role/
├── tasks/
│ └── main.yml
├── handlers/
│ └── main.yml
├── templates/
├── vars/
│ └── main.yml
├── defaults/
│ └── main.yml
├── meta/
│ └── main.yml
└── README.md
Thus, the role becomes reusable, versioned, and easily integrable into different projects via Git.