nioniosfr.github_release

Rôle Ansible : Publication GitHub

Un rôle générique pour installer une application binaire publiée sur GitHub dans une distribution Linux basée sur x86_64.

Exigences

Le rôle cible les systèmes basés sur Debian et RHEL construits sur l'architecture x86_64.

Le rôle est destiné à être exécuté sur la machine distante, ce qui signifie qu'une connexion Internet est requise sur la machine distante.

Ce rôle est assez générique, ce qui signifie qu'il faut faire attention aux packages qui sont installés.

Important : Passez toujours en revue les packages que vous essayez d'installer, car il n'y a aucun moyen de valider le checksum du téléchargement de manière générique.

Variables du Rôle

Requis :

ghr_org_name: # Le nom d'une organisation GitHub valide
ghr_app_name: # Le nom d'un dépôt GitHub valide appartenant à l'organisation

Par défaut :

ghr_app_version: "latest" # Une version valide publiée depuis : https://github.com/{{ ghr_org_name }}/{{ ghr_app_name }}/releases/

ghr_app_binary_dest: "/opt/{{ ghr_app_name }}" # Le répertoire de destination où le binaire `ghr_app_name` sera placé

ghr_app_cleanup_after: false # S'il est défini sur vrai, tous les fichiers téléchargés seront nettoyés

ghr_app_configure_system_path: true # Si le répertoire `ghr_app_binary_dest` doit être ajouté au `PATH` système
ghr_app_system_path_prepend: false # Si le répertoire `ghr_app_binary_dest` doit être ajouté au début ou à la fin du `PATH`, SI (ghr_app_configure_system_path est vrai).

ghr_app_tmp_dir: # Dossier temporaire pour stocker l'archive téléchargée

ghr_app_releases_url: # L'URL des publications GitHub.
ghr_app_archive: # Le nom de l'archive.

Dépendances

Aucune

Exemple de Playbook

Exécuter le rôle plusieurs fois entraînera des problèmes de fusion de variables.

Il est recommandé d'exécuter un rôle par exécution de l'hôte.

    - 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" # Stocke l'archive téléchargée dans un chemin plus persistant 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" # Installe dans un chemin utilisateur commun
            ghr_app_configure_system_path: false # Ne pas manipuler le chemin système pour les utilisateurs
            ghr_app_tmp_dir: "/mnt/nfs_share/downloads" # Changer le dossier utilisé pour les téléchargements
            ghr_app_cleanup_after: true # Supprime à la fois le fichier téléchargé et le profil system profile.d pour `app` s'il avait déjà été créé lors d'une exécution précédente

Licence

MIT

Informations sur l'auteur

NioniosFr

À propos du projet

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

Installer
ansible-galaxy install nioniosfr.github_release
Licence
mit
Téléchargements
190
Propriétaire
Principal Engineer