ElaoInfra.git

Rol de Ansible: GIT
Este rol se encargará de la instalación y configuración de git:
- Instalación del paquete GIT
- Definición del archivo gitconfig
- Permitir la configuración del archivo giconfig
Es parte de la pila de Ansible de ELAO, pero también puede usarse como un componente independiente.
Requisitos
- Ansible 1.9.0+
Dependencias
Ninguna.
Instalación
Ansible 2+
Usando la CLI de ansible galaxy:
ansible-galaxy install elao.git,2.0
Usando un archivo de requisitos de ansible galaxy:
- src: elao.git
version: 2.0
Ansible 1 (ya no se mantiene)
Usando la CLI de ansible galaxy:
ansible-galaxy install elao.git,1.0
Usando un archivo de requisitos de ansible galaxy:
- src: elao.git
version: 1.0
Controladores de Rol
Ninguno.
Variables del Rol
Nombre | Predeterminado | Tipo | Descripción |
---|---|---|---|
elao_git_config_file |
/etc/gitconfig | Cadena (ruta) | Ruta al archivo de configuración |
elao_git_config_template |
config/empty.j2 | Cadena (ruta) | Ruta a la plantilla de configuración |
elao_git_config |
[] | Arreglo | Lista de opciones de configuración de git |
elao_git_repositories |
[] | Arreglo | Lista de repositorios a clonar |
Configuración de GIT
La clave elao_git_config_file
permite especificar la ruta al archivo de configuración.
Ejemplo:
---
elao_git_config_file: "{{ playbook_dir }}/templates/git/config.j2"
La clave elao_git_config_template
permite usar diferentes plantillas de configuración principal. El rol incluye plantillas básicas:
- base (Plantilla simple sin configuración predeterminada)
- dev (Esta configuración proporcionará opciones para Vagrant VM, como ohmyzsh)
- test
- prod (Para fines de producción. Plantilla de configuración ligera)
Los usuarios experimentados de GIT pueden proporcionar su propia plantilla personalizada con la clave elao_git_config_template
.
La clave elao_git_config
permite definir claves de configuración de git como las siguientes:
Ejemplo:
---
elao_git_config:
- user:
- name: "Guewen FAIVRE"
- email: "[email protected]"
- core:
- autocrlf: input
- compression: 9
- excludesfile: "~/.gitignore_global"
- filemode: false
- remote "france":
- url: git://repohost/project1.git
- fetch: +refs/heads/*:refs/remotes/origin/*
- color:
- ui: "true"
- color:
- option: branch
- current: yellow reverse
- local: yellow
- remote: green
- color:
- option: diff
- meta: yellow bold
- frag: magenta bold
- old: red bold
- new: green bold
- color:
- option: status
- added: yellow
- changed: green
- untracked: red
- alias:
- br: branch -av
- ci: commit
Auto-clonación de repositorios requeridos
La clave elao_git_repositories
es "especial", está diseñada para permitir la clonación automática de repositorios especificados:
Variables
Nombre | Predeterminado | Tipo | Descripción |
---|---|---|---|
repo |
~ (requerido) | Cadena | Dirección del repositorio de git, SSH o HTTP |
dest |
~ (requerido) | Cadena | Ruta absoluta a donde se debe clonar el repositorio |
version |
HEAD | Cadena | Qué versión del repositorio clonar |
update |
true | Booleano | Si no, no recupera nuevas revisiones del repositorio origen |
Ejemplo:
---
elao_git_repositories:
- repo: https://github.com/symfony/symfony1.git
dest: /usr/share/symfony/symfony-1.4
version: v1.4.20
update: false
Ejemplo de playbook
- hosts: servers
roles:
- { role: elao.git }
Licencia
MIT
Información del autor
This role will assume the setup and configuration of git - Installing GIT package - Define the gitconfig file - Allow setup of the giconfig file
ansible-galaxy install ElaoInfra.git