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

NioniosFr

Über das Projekt

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

Installieren
ansible-galaxy install nioniosfr.github_release
GitHub Repository
Lizenz
mit
Downloads
190
Besitzer
Principal Engineer