ElaoInfra.git

Rôle Ansible Plateformes Licence

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

ELAO (http://www.elao.com/)

À propos du projet

This role will assume the setup and configuration of git - Installing GIT package - Define the gitconfig file - Allow setup of the giconfig file

Installer
ansible-galaxy install ElaoInfra.git
Licence
Unknown
Téléchargements
518
Propriétaire
All of those roles aren't maintained anymore and we strongly encourage you to switch to our new (maintained and tested) Ansible stack: https://github.com/manala