gotmax23.github_cli
Rola Ansible: github_cli
Rola Ansible, która instaluje Github CLI (gh).
Ostrzeżenie Beta
Ta rola jest obecnie w wersji beta i nie jest przeznaczona do użytku produkcyjnego. Mogą wystąpić istotne zmiany między wydaniami, więc upewnij się, że przeczytałeś notatki dotyczące wydania.
Wymagania
Ta rola zależy od pewnych kolekcji, które nie są dołączone do ansible-core.
Aby zainstalować wymagania tej roli, utwórz plik requirements.yml
z następującą zawartością:
---
collections:
- community.general
Następnie, jeśli używasz ansible-base/ansible-core 2.10 lub nowszego, uruchom to polecenie:
ansible-galaxy install -r requirements.yml
Jeśli nadal używasz Ansible 2.9, zamiast tego uruchom to polecenie:
ansible-galaxy collection install -r requirements.yml
Zmienne roli
Dostępne metody instalacji
Ta rola pozwala na wybór źródła instalacji Github CLI. Możesz nadpisać domyślną metodę instalacji, ustawiając github_cli_install_method
na jedną z wartości wymienionych poniżej.
github_cli_install_method=repo
Opis: To instaluje Github CLI z oficjalnych repozytoriów Apt i RPM.
Obsługiwane dystrybucje: Repozytorium apt wspiera wszystkie pochodne Debiana. Repozytorium RPM wspiera dystrybucje RPM, takie jak Fedora, Enterprise Linux (CentOS, Almalinux, Rocky Linux, RHEL itp.), OpenSUSE Leap i OpenSUSE Tumbleweed.
Domyślnie: Tak (dla wszystkich dystrybucji z wyjątkiem Archlinux, gdzie ta opcja nie jest wspierana.)
github_cli_install_method=distro_package
Opis: To instaluje Github CLI z repozytoriów dystrybucji, jeśli jest dostępne.
Obsługiwane dystrybucje: Archlinux, OpenSUSE Tumbleweed i Fedora
Domyślnie: Tylko dla Archlinux, gdzie github_cli_install_method=repo
nie jest wspierane.
Oto zmienne tej roli oraz ich domyślne wartości, jak ustawione w defaults/main.yml
. Jeśli chcesz, możesz je zmienić, aby dostosować działanie tej roli.
---
# plik domyślny dla github_cli
# Opcje:
# - `present` zapewnia, że Github CLI jest zainstalowany
# - `absent` zapewnia, że Github CLI nie jest zainstalowany.
# Jeśli chciałbyś zmienić metody instalacji, musisz uruchomić tę rolę
# raz z poprzednim ustawieniem używając `state=absent`, a następnie uruchomić ją ponownie
# z nowym ustawieniem używając `state=present`.
github_cli_state: present
# Domyślnie, `github_cli_install_method` jest przypisywane dynamicznie na podstawie Twojej dystrybucji.
_github_cli_install_method:
Archlinux: distro_package # Domyślnie dla Archlinux
default: repo # Domyślnie dla wszystkich innych dystrybucji
# Jak wyjaśniono powyżej, możesz nadpisać tę zmienną.
# Upewnij się tylko, że wybrana opcja wspiera Twoją dystrybucję.
github_cli_install_method: "{{ _github_cli_install_method[ansible_distribution] | default(_github_cli_install_method['default']) }}"
# Czy sprawdzić odcisk palca klucza podpisu repozytorium RPM przed jego zaimportowaniem.
# Zauważ, że ta opcja jest dostępna tylko dla repozytorium RPM, a nie dla apt.
github_cli_check_rpm_key_fingerprint: true
# Zobacz [tutaj][1] więcej informacji.
# Domyślnie tej roli na podstawie rekomendacji Githuba.
github_cli_apt_repo_codename: stable
# Na Yum/Dnf: Przekazanie `enablerepo` do modułu `package`.
github_cli_enablerepo: omit
[1]: https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-apt
Przykład playbooka
---
- name: Zainstaluj Github CLI
hosts: all
become: true
tasks:
- name: Zaktualizuj pamięć podręczną apt
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Zainstaluj Github CLI
ansible.builtin.include_role:
name: "gotmax23.github_cli"
Kompatybilność
Ta rola jest testowana przy użyciu najnowszej wersji ansible-core oraz najnowszej wersji kolekcji z Ansible Galaxy. To jest jedyna wersja Ansible, którą ta rola oficjalnie wspiera. Wsparcie na zasadzie 'best effort' jest oferowane dla innych wersji.
Ta rola jest kompatybilna z następującymi dystrybucjami:
dystrybucja | wersje |
---|---|
Archlinux | dowolna |
Debian | buster, bullseye, bookworm |
EL | 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Licencja
Autor
Maxwell G (@gotmax23)
ansible-galaxy install gotmax23.github_cli