karlmdavis.rcm-dotfiles

Estado de Construcción

Rol de Ansible para RCM

Este rol de Ansible se puede usar para instalar y configurar RCM, un conjunto de herramientas para gestionar archivos de configuración (dotfiles).

Una vez que se aplica este rol, los repositorios definidos se pueden modificar localmente. Cualquier nuevo archivo de configuración creado en esos repositorios se puede desplegar simplemente ejecutando:

$ rcup -f

Requisitos

Este rol requiere lo siguiente en el sistema de gestión de Ansible:

  • Ansible>=2.4.0.0
  • git>=1.7.1 (la herramienta de línea de comandos)

Los sistemas que se están gestionando requieren lo siguiente:

  • Ubuntu 16.04 (a menos que se use rcm_install_mode: no_internet, en cuyo caso casi cualquier sistema operativo debería estar soportado)

Variables del Rol

Aquí están las variables que los usuarios pueden definir:

  • rcm_user: El usuario para el cual se instalarán los repositorios de RCM.
  • rcm_repos: La lista de repositorios de Git cuyos archivos de configuración se instalarán.
    • repo: La URL del repositorio de Git.
    • refspec: La revisión específica de Git para clonar, por defecto es master.
    • dest: El directorio donde se clonará el repositorio.
  • rcm_install_mode: Si se establece en no_internet, el rol realizará todas las descargas en el sistema de gestión de Ansible, en lugar de asumir que el sistema gestionado tiene conexión a internet. En este modo, RCM se instalará por usuario, en lugar de a nivel de sistema.
  • rcm_replace_existing_files: Si se establece en true, se pasará la bandera -f a rcup, permitiendo que sobrescriba archivos existentes. Esto se puede usar, por ejemplo, para reemplazar el archivo bashrc predeterminado del usuario con uno de tu repositorio de archivos de configuración.

Consulta defaults/main.yml para ver la lista de variables por defecto y sus valores predeterminados.

Dependencias

Este rol no tiene dependencias en tiempo de ejecución con otros roles de Ansible.

Ejemplo de Playbook

Aquí tienes un ejemplo de cómo aplicar este rol al host box en un play de Ansible:

- hosts: box
  tasks:
    - name: Instalar y Configurar 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'

Entorno de Desarrollo

Para desarrollar/modificar este proyecto, se necesita instalar varias herramientas.

Python

Este proyecto requiere Python 2.7. Se puede instalar de la siguiente manera:

$ sudo apt-get install python

virtualenv

Este proyecto tiene algunas dependencias que deben instalarse a través de pip (en lugar de apt-get). Por lo tanto, se recomienda encarecidamente que utilices un entorno virtual de Python para gestionar esas dependencias.

Si no está instalado, instala el paquete virtualenv. En Ubuntu, es mejor hacerlo de esta manera:

$ sudo apt-get install python-virtualenv

Docker

A menudo es útil lanzar los contenedores de Docker de prueba localmente. Para hacerlo, debes tener Docker instalado. Instalarlo está fuera del alcance de esta guía, pero una búsqueda rápida en la web debería ayudarte a comenzar.

Ejecución de Pruebas

Una vez que se instalen esas herramientas, se puede usar el script test/run-tests.sh para ejecutar las pruebas localmente. Alternativamente, los cambios se pueden enviar a una rama de GitHub o una solicitud de extracción, y Travis CI ejecutará las pruebas por ti: Travis CI: karlmdavis/ansible-role-rcm-dotfiles.

Licencia

Este proyecto está licenciado bajo la Licencia Pública General GNU, Versión 3.

Acerca del proyecto

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

Instalar
ansible-galaxy install karlmdavis.rcm-dotfiles
Licencia
gpl-3.0
Descargas
149
Propietario