gotmax23.github_cli
Rol de Ansible: github_cli
Rol de Ansible que instala la CLI de Github (gh).
Aviso Beta
Este rol está actualmente en beta y no está destinado para uso en producción. Pueden ocurrir cambios disruptivos entre versiones, así que asegúrate de leer las notas de la versión.
Requisitos
Este rol depende de ciertas colecciones que no están incluidas en ansible-core.
Para instalar los requisitos de este rol, crea un archivo requirements.yml
con el siguiente contenido:
---
collections:
- community.general
Luego, si estás usando ansible-base/ansible-core 2.10 o posterior, ejecuta este comando.
ansible-galaxy install -r requirements.yml
Si todavía estás usando Ansible 2.9, ejecuta este comando en su lugar.
ansible-galaxy collection install -r requirements.yml
Variables del Rol
Métodos de Instalación Disponibles
Este rol te permite elegir de qué fuente instalar la CLI de Github. Puedes sobrescribir el método de instalación predeterminado configurando github_cli_install_method
a uno de los valores que se describen a continuación.
github_cli_install_method=repo
Descripción: Esto instala la CLI de Github desde los repos de Apt y RPM del upstream.
Distribuciones Soportadas: El repositorio de apt es compatible con todas las derivadas de Debian. El repositorio RPM soporta distribuciones RPM como Fedora, Enterprise Linux (CentOS, Almalinux, Rocky Linux, RHEL, etc.), OpenSUSE Leap y OpenSUSE Tumbleweed.
Predeterminado: Sí (para todas las distribuciones excepto Archlinux, donde esta opción no es compatible).
github_cli_install_method=distro_package
Descripción: Esto instala la CLI de Github desde los repositorios de la distribución, si está disponible.
Distribuciones Soportadas: Archlinux, OpenSUSE Tumbleweed y Fedora.
Predeterminado: Solo para Archlinux donde github_cli_install_method=repo
no es compatible.
Aquí están las variables de este rol y sus valores predeterminados, establecidos en defaults/main.yml
. Si lo deseas, puedes cambiarlas para personalizar el comportamiento de este rol.
---
# archivo de defaults para github_cli
# Opciones:
# - `present` asegura que la CLI de Github esté instalada
# - `absent` asegura que la CLI de Github no esté instalada.
# Si deseas cambiar los métodos de instalación, tendrás que ejecutar este
# rol una vez con la configuración anterior usando `state=absent`, y luego ejecutarlo de nuevo
# con la nueva configuración usando `state=present`.
github_cli_state: present
# Por defecto, `github_cli_install_method` se asigna dinámicamente según tu distribución.
_github_cli_install_method:
Archlinux: distro_package # Predeterminado para Archlinux
default: repo # Predeterminado para todas las demás distros
# Como se explicó anteriormente, puedes sobrescribir esta variable.
# Solo asegúrate de que la opción que elijas soporte tu distribución.
github_cli_install_method: "{{ _github_cli_install_method[ansible_distribution] | default(_github_cli_install_method['default']) }}"
# Si se debe verificar la huella digital de la clave de firma del repositorio RPM antes de importarla.
# Nota que esta opción solo está disponible para el repositorio RPM y no para el apt.
github_cli_check_rpm_key_fingerprint: true
# Consulta [aquí][1] para más información.
# El valor predeterminado de este rol se basa en la recomendación de Github.
github_cli_apt_repo_codename: stable
# En Yum/Dnf: pasar `enablerepo` al módulo `package`.
github_cli_enablerepo: omit
[1]: https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-apt
Ejemplo de Playbook
---
- name: Instalar la CLI de Github
hosts: all
become: true
tasks:
- name: Actualizar la caché de apt
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Instalar la CLI de Github
ansible.builtin.include_role:
name: "gotmax23.github_cli"
Compatibilidad
Este rol se prueba usando la última versión de ansible-core y la última versión de las colecciones de Ansible Galaxy. Esta es la única versión de Ansible que este rol admite oficialmente. Se proporciona soporte de mejor esfuerzo para otras versiones.
Este rol es compatible con las siguientes distribuciones:
distribución | versiones |
---|---|
Archlinux | cualquier |
Debian | buster, bullseye, bookworm |
EL | 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Licencia
Autor
Maxwell G (@gotmax23)
Ansible role that installs Github CLI (gh).
ansible-galaxy install gotmax23.github_cli