ElaoInfra.git

Rola Ansible: GIT
Ta rola zajmuje się instalacją i konfiguracją git, wykonując następujące kroki:
- Instalacja pakietu GIT
- Ustawienie pliku gitconfig
- Umożliwienie konfiguracji pliku giconfig
Jest częścią stosu Ansible ELAO, ale może być używana jako samodzielny komponent.
Wymagania
- Ansible 1.9.0+
Zależności
Brak.
Instalacja
Ansible 2+
Używając CLI ansible galaxy:
ansible-galaxy install elao.git,2.0
Używając pliku wymagań ansible galaxy:
- src: elao.git
version: 2.0
Ansible 1 (już nie jest aktualizowane)
Używając CLI ansible galaxy:
ansible-galaxy install elao.git,1.0
Używając pliku wymagań ansible galaxy:
- src: elao.git
version: 1.0
Obsługa ról
Brak
Zmienne roli
Nazwa | Domyślna wartość | Typ | Opis |
---|---|---|---|
elao_git_config_file |
/etc/gitconfig | String (ścieżka) | Ścieżka do pliku konfiguracyjnego |
elao_git_config_template |
config/empty.j2 | String (ścieżka) | Ścieżka do szablonu konfiguracyjnego |
elao_git_config |
[] | Tablica | Lista opcji konfiguracyjnych git |
elao_git_repositories |
[] | Tablica | Lista repozytoriów do sklonowania |
Konfiguracja GIT
Klucz elao_git_config_file
pozwala na określenie ścieżki do pliku konfiguracyjnego.
Przykład:
---
elao_git_config_file: "{{ playbook_dir }}/templates/git/config.j2"
Klucz elao_git_config_template
pozwoli na użycie różnych głównych szablonów konfiguracyjnych. Rola dostarczana jest z podstawowymi szablonami:
- base (Prosty szablon bez domyślnej konfiguracji)
- dev (Ta konfiguracja zapewnia opcje dla VM Vagrant, takie jak ohmyzsh)
- test
- prod (Dla celów produkcyjnych. Lekki szablon konfiguracyjny)
Doświadczeni użytkownicy GIT mogą dostarczyć własny szablon za pomocą klucza elao_git_config_template
.
Klucz elao_git_config
pozwala zdefiniować klucze konfiguracyjne git, jak poniżej:
Przykład:
---
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
Automatyczne klonowanie wymaganych repozytoriów
Klucz elao_git_repositories
jest "specjalny", zaprojektowano go, aby umożliwić automatyczne klonowanie określonych repozytoriów:
Zmienne
Nazwa | Domyślna wartość | Typ | Opis |
---|---|---|---|
repo |
~ (wymagane) | String | adres repozytorium git w protokole git, SSH lub HTTP |
dest |
~ (wymagane) | String | Absolutna ścieżka do miejsca, gdzie repozytorium ma być sklonowane |
version |
HEAD | String | Jaką wersję repozytorium sklonować |
update |
true | Boolean | Jeśli nie, nie pobieraj nowych wersji z repozytorium źródłowego |
Przykład:
---
elao_git_repositories:
- repo: https://github.com/symfony/symfony1.git
dest: /usr/share/symfony/symfony-1.4
version: v1.4.20
update: false
Przykład playbooka
- hosts: serwery
roles:
- { role: elao.git }
Licencja
MIT
Informacje o autorze
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