ElaoInfra.git

Ansible Роль: GIT
Эта роль настраивает и конфигурирует git путем:
- Установки пакета GIT
- Определения файла gitconfig
- Позволяет настроить файл giconfig
Это часть стека ELAO Ansible, но может использоваться как самостоятельный компонент.
Требования
- Ansible 1.9.0+
Зависимости
Нет.
Установка
Ansible 2+
Используя ansible galaxy cli:
ansible-galaxy install elao.git,2.0
Используя файл требований ansible galaxy:
- src: elao.git
version: 2.0
Ansible 1 (больше не поддерживается)
Используя ansible galaxy cli:
ansible-galaxy install elao.git,1.0
Используя файл требований ansible galaxy:
- src: elao.git
version: 1.0
Обработчики ролей
Нет
Переменные роли
Имя | По умолчанию | Тип | Описание |
---|---|---|---|
elao_git_config_file |
/etc/gitconfig | Строка (путь) | Путь к конфигурационному файлу |
elao_git_config_template |
config/empty.j2 | Строка (путь) | Путь к шаблону конфигурации |
elao_git_config |
[] | Массив | Список параметров git конфигурации |
elao_git_repositories |
[] | Массив | Список репозиториев для клонирования |
Конфигурация GIT
Ключ elao_git_config_file
позволяет указать путь к конфигурационному файлу.
Пример:
---
elao_git_config_file: "{{ playbook_dir }}/templates/git/config.j2"
Ключ elao_git_config_template
позволяет использовать различные основные шаблоны конфигурации. Роль поставляется с базовыми шаблонами:
- base (Простой шаблон без конфигурации по умолчанию)
- dev (Эта конфигурация предоставляет опции для Vagrant VM, такие как ohmyzsh)
- test
- prod (Для производственного использования. Легкий шаблон конфигурации)
Опытные пользователи GIT могут предоставить свои собственные пользовательские шаблоны с помощью ключа elao_git_config_template
.
Ключ elao_git_config
позволяет определять ключи конфигурации git, такие как следующие:
Пример:
---
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
Автоматическая клонирование необходимых репозиториев
Ключ elao_git_repositories
является "особенным", он предназначен для автоматического клонирования указанных репозиториев:
Переменные
Имя | По умолчанию | Тип | Описание |
---|---|---|---|
repo |
~ (обязательно) | Строка | адрес git-репозитория по протоколу git, SSH или HTTP |
dest |
~ (обязательно) | Строка | Полный путь к тому, куда должен быть клонирован репозиторий |
version |
HEAD | Строка | Какую версию репозитория клонировать |
update |
true | Булевый | Если false, не получать новые изменения из основного репозитория |
Пример:
---
elao_git_repositories:
- repo: https://github.com/symfony/symfony1.git
dest: /usr/share/symfony/symfony-1.4
version: v1.4.20
update: false
Пример playbook
- hosts: servers
roles:
- { role: elao.git }
Лицензия
MIT
Информация об авторе
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