sgaunet.gh_role_installer
Rola Ansible: gh_role_installer
Rola Ansible, która instaluje wersje z GitHub. Została stworzona, aby instalować pliki binarne z wydania na GitHubie. Jest zaprojektowana do instalacji tylko prostych binariów (napisanych w Go lub Rust) i nie służy do instalacji skomplikowanego oprogramowania.
Możesz jej użyć do ustawienia narzędzi takich jak:
- bat
- d2
- gini
- goreleaser
- helm
- k9s
- pgweb
- vhs
- ...
Wymagania
Brak.
Zmienne Roli
Dostępne zmienne wymienione są poniżej, tylko gh_role_installer_tmp_directory i gh_role_installer_binary_path są ustawione domyślnie:
gh_role_installer_version: "latest" # latest to specjalna wartość, aby pobrać najnowsze wydanie (API GitHub zostanie użyte do uzyskania najnowszego wydania)
gh_role_installer_os: "linux" # nazwa systemu operacyjnego, używana do pobrania wydania
gh_role_installer_arch: "amd64" # architektura, używana do pobrania wydania
gh_role_installer_repository: "sgaunet/jwt-cli"
# adres URL wydania, używany do pobrania wydania, uwaga: version_to_install to specjalna wartość, która zostanie zastąpiona wersją do zainstalowania
gh_role_installer_release: "https://github.com/{{ gh_role_installer_repository }}/releases/download/v{{ version_to_install }}/jwt-cli_{{ version_to_install }}_{{ gh_role_installer_os }}_{{ gh_role_installer_arch }}"
gh_role_installer_release_is_archive: false # jeśli prawda, wydanie jest archiwum, zostanie pobrane i rozpakowane
gh_role_installer_binary_name: "jwt-cli" # nazwa binarnego pliku do zainstalowania
gh_role_installer_cmd_to_get_version: "jwt-cli version" # polecenie do uzyskania wersji zainstalowanego binarnego pliku
gh_role_installer_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}" # tymczasowy katalog do pobrania wydania
gh_role_installer_binary_path: "/usr/local/bin/{{ gh_role_installer_binary_name }}" # katalog, w którym zostanie zainstalowany plik binarny
Zależności
Brak.
Przykładowy Playbook
- hosts: all
roles:
- role: sgaunet.gh_role_installer
vars:
gh_role_installer_version: "latest"
gh_role_installer_os: "unknown-linux-musl"
gh_role_installer_arch: "x86_64"
gh_role_installer_repository: "zellij-org/zellij"
gh_role_installer_release: "https://github.com/{{ gh_role_installer_repository }}/releases/download/v{{ version_to_install }}/zellij-{{ gh_role_installer_arch }}-{{ gh_role_installer_os }}.tar.gz"
gh_role_installer_release_is_archive: true
gh_role_installer_binary_name: "zellij"
gh_role_installer_cmd_to_get_version: 'zellij --version | sed "s#zellij ##g"'
# gh_role_installer_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}"
# gh_role_installer_binary_path: "/usr/local/bin/{{ gh_role_installer_binary_name }}"
Rola zawiera również zmienne do instalacji różnych narzędzi. Zobacz listę dostępnych narzędzi w tej dokumentacji.
Licencja
MIT