ElaoInfra.git

Ansible Role Platforms License

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

Информация об авторе

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

О проекте

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
Лицензия
Unknown
Загрузки
518
Владелец
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