gotmax23.github_cli
Rôle Ansible : github_cli
Rôle Ansible qui installe le CLI de Github (gh).
Avertissement Beta
Ce rôle est actuellement en version beta et n'est pas destiné à un usage en production. Des changements majeurs peuvent survenir entre les versions, veuillez donc lire les notes de version.
Exigences
Ce rôle dépend de certaines collections qui ne sont pas incluses dans ansible-core.
Pour installer les exigences de ce rôle, créez un fichier requirements.yml
avec le contenu suivant :
---
collections:
- community.general
Ensuite, si vous utilisez ansible-base/ansible-core 2.10 ou une version ultérieure, exécutez cette commande.
ansible-galaxy install -r requirements.yml
Si vous utilisez encore Ansible 2.9, exécutez plutôt cette commande.
ansible-galaxy collection install -r requirements.yml
Variables du Rôle
Méthodes d'installation disponibles
Ce rôle vous permet de choisir la source à partir de laquelle installer le CLI de Github. Vous pouvez remplacer la méthode d'installation par défaut en définissant github_cli_install_method
sur l'une des valeurs décrites ci-dessous.
github_cli_install_method=repo
Description : Installe le CLI de Github à partir des dépôts Apt et RPM upstream.
Distributions supportées : Le dépôt apt supporte tous les dérivés de Debian. Le dépôt RPM supporte les distros RPM comme Fedora, Enterprise Linux (CentOS, Almalinux, Rocky Linux, RHEL, etc.), OpenSUSE Leap et OpenSUSE Tumbleweed.
Par défaut : Oui (pour toutes les distributions sauf Archlinux, où cette option n'est pas supportée.)
github_cli_install_method=distro_package
Description : Installe le CLI de Github à partir des dépôts de la distribution, si disponible.
Distributions supportées : Archlinux, OpenSUSE Tumbleweed et Fedora
Par défaut : Uniquement pour Archlinux où github_cli_install_method=repo
n'est pas supporté.
Voici les variables de ce rôle et leurs valeurs par défaut, définies dans defaults/main.yml
. Si vous le souhaitez, vous pouvez les modifier pour personnaliser le comportement de ce rôle.
---
# fichier par défaut pour github_cli
# Options :
# - `present` garantit que le CLI de Github est installé
# - `absent` garantit que le CLI de Github n'est pas installé.
# Si vous souhaitez changer les méthodes d'installation, vous devrez exécuter ce
# rôle une fois avec l'ancienne configuration en utilisant `state=absent`, puis le relancer
# avec la nouvelle configuration en utilisant `state=present`.
github_cli_state: present
# Par défaut, `github_cli_install_method` est attribué dynamiquement en fonction de votre distribution.
_github_cli_install_method:
Archlinux: distro_package # Par défaut pour Archlinux
default: repo # Par défaut pour toutes les autres distros
# Comme expliqué ci-dessus, vous pouvez remplacer cette variable.
# Assurez-vous simplement que l'option choisie supporte votre distro.
github_cli_install_method: "{{ _github_cli_install_method[ansible_distribution] | default(_github_cli_install_method['default']) }}"
# Indique s'il faut vérifier l'empreinte de la clé de signature du repo RPM avant de l'importer.
# Notez que cette option est uniquement disponible pour le repo RPM et non pour celui d'apt.
github_cli_check_rpm_key_fingerprint: true
# Voir [ici][1] pour plus d'informations.
# La valeur par défaut de ce rôle est basée sur la recommandation de Github.
github_cli_apt_repo_codename: stable
# Sur Yum/Dnf : Passer `enablerepo` au module `package`.
github_cli_enablerepo: omit
[1]: https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-apt
Exemple de Playbook
---
- name: Installer le CLI de Github
hosts: all
become: true
tasks:
- name: Mettre à jour le cache apt
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Installer le CLI de Github
ansible.builtin.include_role:
name: "gotmax23.github_cli"
Compatibilité
Ce rôle est testé avec la dernière version d'ansible-core et les dernières versions des collections d'Ansible Galaxy. C'est la seule version d'Ansible que ce rôle supporte officiellement. Un support de meilleur effort est fourni pour d'autres versions.
Ce rôle est compatible avec les distros suivantes :
distro | versions |
---|---|
Archlinux | toutes |
Debian | buster, bullseye, bookworm |
EL | 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Licence
Auteur
Maxwell G (@gotmax23)
Ansible role that installs Github CLI (gh).
ansible-galaxy install gotmax23.github_cli