nioniosfr.github_release

Rol de Ansible: Lanzamiento de GitHub

Un rol genérico para instalar una aplicación binaria lanzada en GitHub en una distribución Linux basada en x86_64.

Requisitos

El rol está diseñado para sistemas basados en Debian y RHEL construidos sobre la arquitectura x86_64.

El rol se ejecuta en la máquina remota, lo que significa que se requiere conectividad a Internet en la máquina remota.

Este rol es bastante genérico, lo que significa que se debe tener cuidado con los paquetes que se instalan.

Importante: Siempre revisa los paquetes que estás intentando instalar, ya que no hay forma de validar el checksum de la descarga de manera genérica.

Variables del Rol

Requeridas:

ghr_org_name: # El nombre de una organización válida en GitHub
ghr_app_name: # El nombre de un repositorio válido en GitHub, perteneciente a la organización

Por defecto:

ghr_app_version: "latest" # Una versión válida lanzada de: https://github.com/{{ ghr_org_name }}/{{ ghr_app_name }}/releases/

ghr_app_binary_dest: "/opt/{{ ghr_app_name }}" # El directorio de destino donde se colocará el binario `ghr_app_name`

ghr_app_cleanup_after: false # Si se establece en verdadero, limpiará todos los archivos descargados

ghr_app_configure_system_path: true # Si se debe agregar el directorio `ghr_app_binary_dest` al `PATH` del sistema
ghr_app_system_path_prepend: false # Si se debe agregar o anteponer el directorio `ghr_app_binary_dest` en el `PATH`, SI (ghr_app_configure_system_path es verdadero).

ghr_app_tmp_dir: # Carpeta temporal para almacenar el archivo descargado

ghr_app_releases_url: # La URL de las versiones de github.
ghr_app_archive: # El nombre del archivo comprimido.

Dependencias

Ninguna

Ejemplo de Playbook

Ejecutar el rol varias veces puede provocar problemas de combinación de variables.

Se recomienda ejecutar un rol por ejecución de host.

    - hosts: localhost
      roles:
        - role: nioniosfr.github_release
          vars:
            ghr_org_name: "digitalocean"
            ghr_app_name: "doctl"
            ghr_app_version: "1.18.0"
            ghr_app_tmp_dir: "/mnt/nfs_share/downloads" # Almacenar el archivo descargado en una ruta más persistente que '/tmp'

    - hosts: localhost
      roles:
        - role: nioniosfr.github_release
          vars:
            ghr_org_name: "stedolan"
            ghr_app_name: "jq"
            ghr_app_version: "1.6"
            ghr_app_releases_endpoint: "{{ ghr_app_name }}-{{ ghr_app_version }}"
            ghr_app_archive: "{{ ghr_app_name }}-linux64"
            ghr_app_is_binary: true

    - hosts: localhost
      roles:
        - role: nioniosfr.github_release
          vars:
            ghr_org_name: "digitalocean"
            ghr_app_name: "doctl"
            ghr_app_version: "1.18.0"
            ghr_app_binary_dest: "/usr/local/bin" # Instala en una ruta común para usuarios
            ghr_app_configure_system_path: false # No manipular el PATH del sistema para los usuarios
            ghr_app_tmp_dir: "/mnt/nfs_share/downloads" # Cambiar la carpeta utilizada para las descargas
            ghr_app_cleanup_after: true # Eliminar tanto el archivo descargado como el profile.d del sistema para `app` si ya fue creado en una ejecución anterior

Licencia

MIT

Información del Autor

NioniosFr

Acerca del proyecto

A generic role to install a binary application released on GitHub in a Linux x86_64 based distro.

Instalar
ansible-galaxy install nioniosfr.github_release
Licencia
mit
Descargas
190
Propietario
Principal Engineer