rcm-dotfiles

Статус сборки

Ansible роль для RCM

Эта Ansible роль может быть использована для установки и настройки RCM, набора инструментов для управления dotfiles.

После применения этой роли репозитории, определенные для нее, можно изменять локально. Любые новые dotfiles, созданные в этих репозиториях, можно развернуть простым выполнением команды:

$ rcup -f

Требования

Эта роль требует следующего на системе управления Ansible:

  • Ansible >= 2.4.0.0
  • git >= 1.7.1 (инструмент командной строки)

Управляемая система(ы) требуют следующего:

  • Ubuntu 16.04 (если не используется rcm_install_mode: no_internet, в этом случае почти любую ОС можно поддерживать)

Переменные роли

Вот переменные, которые могут быть определены пользователями:

  • rcm_user: Пользователь, для которого будут установлены репозитории RCM.
  • rcm_repos: Список Git репозиториев, dotfiles из которых будут установлены.
    • repo: URL Git репозитория.
    • refspec: Конкретная версия Git для клонирования, по умолчанию master.
    • dest: Каталог, в который будет клонирован репозиторий.
  • rcm_install_mode: Если установлено в no_internet, роль выполнит все загрузки на системе управления Ansible, а не будет предполагать, что управляемая система имеет интернет-соединение. В этом режиме RCM будет установлен для каждого пользователя, а не для всей системы.
  • rcm_replace_existing_files: Если установлено в true, флаг -f будет передан в rcup, позволяя перезаписать существующие файлы. Это можно использовать, например, для замены стандартного файла bashrc пользователя на файл из вашего репозитория dotfiles.

Смотрите defaults/main.yml для списка стандартных переменных и их значений по умолчанию.

Зависимости

Эта роль не имеет зависимостей во время выполнения от других ролей Ansible.

Пример плейбука

Вот пример, как применить эту роль к хосту box в Ansible плейбуке:

- hosts: box
  tasks:
    - name: Установка и настройка RCM
      include_role:
        name: karlmdavis.rcm-dotfiles
      vars:
        rcm_user: ansible_test
        rcm_install_mode: no_internet
        rcm_repos:
          - repo: 'https://foosball.example.com/path/to/repo.git'
            dest: '/home/karl/.dotfiles-repo.git'

Среда разработки

Для разработки/изменения этого проекта необходимо установить несколько инструментов.

Python

Этот проект требует Python 2.7. Установить его можно так:

$ sudo apt-get install python

virtualenv

Этот проект имеет некоторые зависимости, которые нужно установить через pip (в отличие от apt-get). Поэтому настоятельно рекомендуется использовать виртуальную среду Python для управления этими зависимостями.

Если он еще не установлен, установите пакет virtualenv. В Ubuntu это лучше сделать так:

$ sudo apt-get install python-virtualenv

Docker

Иногда полезно запускать тестовые Docker-контейнеры локально. Для этого необходимо установить Docker. Установка Docker не входит в объем данного руководства, но поиск в интернете поможет вам начать.

Запуск тестов

После установки этих инструментов, скрипт test/run-tests.sh можно использовать для запуска тестов локально. Кроме того, изменения можно отправить в ветку или пул-реквест на GitHub, и Travis CI запустит тесты за вас: Travis CI: karlmdavis/ansible-role-rcm-dotfiles.

Лицензия

Этот проект лицензирован под GNU General Public License, Version 3.

О проекте

This Ansible role can be used to install and configure RCM (https://github.com/thoughtbot/rcm), a management suite for dotfiles.

Установить
ansible-galaxy install karlmdavis/ansible-role-rcm-dotfiles
Лицензия
gpl-3.0
Загрузки
136
Владелец