karlmdavis.rcm-dotfiles

Status budowy

Rola Ansible dla RCM

Ta rola Ansible może być używana do instalacji i konfiguracji RCM, zestawu narzędzi do zarządzania plikami konfiguracyjnymi (dotfiles).

Po zastosowaniu tej roli, repozytoria zdefiniowane w niej mogą być modyfikowane lokalnie. Nowe pliki konfiguracyjne utworzone w tych repozytoriach można wdrożyć, po prostu uruchamiając:

$ rcup -f

Wymagania

Ta rola wymaga następujących elementów na systemie zarządzania Ansible:

  • Ansible>=2.4.0.0
  • git>=1.7.1 (narzędzie wiersza poleceń)

Zarządzane systemy wymagają następujących elementów:

  • Ubuntu 16.04 (chyba że używany jest rcm_install_mode: no_internet, w takim przypadku wspierane są prawie wszystkie systemy operacyjne)

Zmienne roli

Oto zmienne, które mogą być definiowane przez użytkowników:

  • rcm_user: Użytkownik, dla którego będą instalowane repozytoria RCM.
  • rcm_repos: Lista repozytoriów Git, których pliki konfiguracyjne będą instalowane.
    • repo: URL repozytorium Git.
    • refspec: Specyficzna wersja Git do sklonowania, domyślnie jest to master.
    • dest: Katalog, do którego zostanie sklonowane repozytorium.
  • rcm_install_mode: Jeśli ustawione na no_internet, rola będzie przeprowadzać wszystkie pobierania na systemie zarządzania Ansible, zamiast zakładać, że zarządzany system ma połączenie z Internetem. W tym trybie RCM będzie instalowane dla pojedynczego użytkownika, zamiast systemowo.
  • rcm_replace_existing_files: Jeśli ustawione na true, flaga -f zostanie przekazana do rcup, pozwalając jej na nadpisanie istniejących plików. Można to zastosować, na przykład, aby zastąpić domyślny plik bashrc użytkownika plikiem z repozytorium dotfiles.

Zobacz defaults/main.yml dla listy domyślnych zmiennych i ich wartości domyślnych.

Zależności

Ta rola nie ma żadnych zależności na czas działania od innych ról Ansible.

Przykładowy Playbook

Oto przykład, jak zastosować tę rolę do hosta box w playbooku Ansible:

- hosts: box
  tasks:
    - name: Instalacja i konfiguracja 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'

Środowisko deweloperskie

Aby opracować lub modyfikować ten projekt, należy zainstalować szereg narzędzi.

Python

Ten projekt wymaga Pythona 2.7. Można go zainstalować w następujący sposób:

$ sudo apt-get install python

virtualenv

Ten projekt ma kilka zależności, które muszą być zainstalowane za pomocą pip (w przeciwieństwie do apt-get). Dlatego zaleca się korzystanie z wirtualnego środowiska Pythona do zarządzania tymi zależnościami.

Jeśli nie jest już zainstalowane, zainstaluj pakiet virtualenv. Na Ubuntu najlepiej zrobić to w następujący sposób:

$ sudo apt-get install python-virtualenv

Docker

Często przydatne jest uruchamianie lokalnie testowych kontenerów Docker. Aby to zrobić, należy mieć zainstalowany Docker. Instalacja tego wykracza poza zakres tego przewodnika, ale szybkie wyszukiwanie w Internecie powinno Ci pomóc.

Uruchamianie testów

Po zainstalowaniu tych narzędzi można użyć skryptu test/run-tests.sh do uruchomienia testów lokalnie. Alternatywnie, zmiany można przesłać do gałęzi GitHub lub zgłoszenia pull, a Travis CI uruchomi testy za Ciebie: Travis CI: karlmdavis/ansible-role-rcm-dotfiles.

Licencja

Ten projekt jest objęty GNU General Public License, wersja 3.

O projekcie

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

Zainstaluj
ansible-galaxy install karlmdavis.rcm-dotfiles
Licencja
gpl-3.0
Pobrania
149
Właściciel