ElaoInfra.git
 
Rôle Ansible : GIT
Ce rôle s'occupe de l'installation et de la configuration de git en :
- Installant le paquet GIT
- Définissant le fichier gitconfig
- Permettant la configuration du fichier giconfig
Il fait partie de la pile Ansible ELAO, mais peut être utilisé comme un composant autonome.
Exigences
- Ansible 1.9.0+
Dépendances
Aucune.
Installation
Ansible 2+
Utilisation de la ligne de commande ansible galaxy :
ansible-galaxy install elao.git,2.0
Utilisation du fichier de dépendances ansible galaxy :
- src:     elao.git
  version: 2.0
Ansible 1 (plus maintenu)
Utilisation de la ligne de commande ansible galaxy :
ansible-galaxy install elao.git,1.0
Utilisation du fichier de dépendances ansible galaxy :
- src:     elao.git
  version: 1.0
Gestionnaires de rôles
Aucun
Variables de rôle
| Nom | Par défaut | Type | Description | 
|---|---|---|---|
| elao_git_config_file | /etc/gitconfig | String (chemin) | Chemin vers le fichier de config | 
| elao_git_config_template | config/empty.j2 | String (chemin) | Chemin vers le modèle de config | 
| elao_git_config | [] | Tableau | Liste des options de config git | 
| elao_git_repositories | [] | Tableau | Liste des dépôts à récupérer | 
Configuration GIT
La clé elao_git_config_file permet de spécifier le chemin vers le fichier de configuration.
Exemple :
---
elao_git_config_file: "{{ playbook_dir }}/templates/git/config.j2"
La clé elao_git_config_template vous permet d'utiliser différents modèles de configuration principaux. Le rôle est accompagné de modèles de base :
- base (Modèle simple sans configuration par défaut)
- dev (Cette configuration fournit des options pour les VM Vagrant, comme ohmyzsh)
- test
- prod (Pour un usage en production. Modèle de configuration léger)
Les utilisateurs expérimentés de GIT peuvent fournir leur propre modèle personnalisé avec la clé elao_git_config_template.
La clé elao_git_config permet de définir des clés de configuration git comme suit :
Exemple :
---
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
Récupération automatique des dépôts requis
La clé elao_git_repositories est "spéciale", elle est conçue pour permettre la récupération automatique de dépôts spécifiés :
Variables
| Nom | Par défaut | Type | Description | 
|---|---|---|---|
| repo | ~ (obligatoire) | String | adresse git, SSH ou HTTP du dépôt git | 
| dest | ~ (obligatoire) | String | Chemin absolu où le dépôt doit être récupéré | 
| version | HEAD | String | Quelle version du dépôt récupérer | 
| update | true | Boolean | Si non, ne pas récupérer de nouvelles révisions du dépôt d'origine | 
Exemple :
---
elao_git_repositories:
  - repo:    https://github.com/symfony/symfony1.git
    dest:    /usr/share/symfony/symfony-1.4
    version: v1.4.20
    update:  false
Exemple de playbook
- hosts: serveurs
  roles:
     - { role: elao.git }
Licence
MIT
Informations sur l'auteur
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