nioniosfr.github_release
Ansible Rolle: GitHub Release
Eine generische Rolle zum Installieren einer binären Anwendung, die auf GitHub veröffentlicht wurde, in einem Linux-Betriebssystem mit der Architektur x86_64.
Anforderungen
Die Rolle zielt auf Debian- und RHEL-basierte Systeme ab, die auf der Architektur x86_64
aufgebaut sind.
Die Rolle soll auf der Remote-Maschine ausgeführt werden, was bedeutet, dass eine Internetverbindung auf der Remote-Maschine erforderlich ist.
Diese Rolle ist ziemlich generisch, daher ist Vorsicht geboten, welche Pakete installiert werden.
Wichtig: Überprüfen Sie immer die Pakete, die Sie installieren möchten, da es keine Möglichkeit gibt, die Prüfziffer des Downloads allgemein zu validieren.
Rollenvariablen
Erforderlich:
ghr_org_name: # Der Name einer gültigen GitHub-Organisation
ghr_app_name: # Der Name eines gültigen GitHub-Repositories, das der Organisation gehört
Standard:
ghr_app_version: "latest" # Eine gültige veröffentlichte Version von: https://github.com/{{ ghr_org_name }}/{{ ghr_app_name }}/releases/
ghr_app_binary_dest: "/opt/{{ ghr_app_name }}" # Das Zielverzeichnis, in dem die binäre Datei `ghr_app_name` abgelegt wird
ghr_app_cleanup_after: false # Wenn auf true gesetzt, werden alle heruntergeladenen Dateien gelöscht
ghr_app_configure_system_path: true # Ob das Verzeichnis `ghr_app_binary_dest` zum System `PATH` hinzugefügt werden soll
ghr_app_system_path_prepend: false # Ob das Verzeichnis `ghr_app_binary_dest` in den `PATH` angehängt oder vorangestellt werden soll, WENN (ghr_app_configure_system_path wahr ist).
ghr_app_tmp_dir: # Temporäres Verzeichnis zum Speichern des heruntergeladenen Archivs
ghr_app_releases_url: # Die URL der GitHub-Releases.
ghr_app_archive: # Der Name des Archivs.
Abhängigkeiten
Keine
Beispiel-Playbook
Wenn die Rolle mehrmals ausgeführt wird, kann es zu Variablenkonflikten kommen.
Die empfohlene Nutzung ist, eine Rolle pro Hostausführung auszuführen.
- 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" # Das heruntergeladene Archiv in einem beständigeren Pfad als '/tmp' speichern
- 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" # Installation in einem häufig verwendeten Benutzerverzeichnis
ghr_app_configure_system_path: false # System-Pfad für Benutzer nicht manipulieren
ghr_app_tmp_dir: "/mnt/nfs_share/downloads" # Verzeichnis für Downloads ändern
ghr_app_cleanup_after: true # Sowohl die heruntergeladene Datei als auch das Systemprofil für `app`, falls bereits aus einem vorherigen Durchlauf erstellt, entfernen
Lizenz
MIT
Autoreninformation
A generic role to install a binary application released on GitHub in a Linux x86_64 based distro.
ansible-galaxy install nioniosfr.github_release