github_cli
Ansible Роль: github_cli
Ansible роль, которая устанавливает Github CLI (gh).
Предупреждение о бета-версии
Эта роль находится на стадии бета-тестирования и не предназначена для использования в производственной среде. Между релизами могут быть внесены разрушающие изменения, поэтому, пожалуйста, обязательно ознакомьтесь с примечаниями к релизу.
Требования
Эта роль зависит от определенных коллекций, которые не включены в ansible-core.
Чтобы установить зависимости этой роли, создайте файл requirements.yml
со следующим содержимым:
---
collections:
- community.general
Затем, если вы используете ansible-base/ansible-core 2.10 или позже, выполните эту команду.
ansible-galaxy install -r requirements.yml
Если вы все еще используете Ansible 2.9, выполните вместо этого следующую команду.
ansible-galaxy collection install -r requirements.yml
Переменные роли
Доступные методы установки
Эта роль позволяет вам выбрать источник для установки Github CLI. Вы можете переопределить метод установки по умолчанию, установив github_cli_install_method
на одно из значений, указанных ниже.
github_cli_install_method=repo
Описание: Устанавливает Github CLI из официальных репозиториев Apt и RPM.
Поддерживаемые дистрибутивы: Репозиторий apt поддерживает все производные Debian. Репозиторий RPM поддерживает дистрибутивы RPM, такие как Fedora, Enterprise Linux (CentOS, Almalinux, Rocky Linux, RHEL и др.), OpenSUSE Leap и OpenSUSE Tumbleweed.
По умолчанию: Да (для всех дистрибутивов, кроме Archlinux, где эта опция не поддерживается).
github_cli_install_method=distro_package
Описание: Устанавливает Github CLI из репозиториев дистрибутива, если он доступен.
Поддерживаемые дистрибутивы: Archlinux, OpenSUSE Tumbleweed и Fedora
По умолчанию: Только для Archlinux, где github_cli_install_method=repo
не поддерживается.
Вот переменные этой роли и их значения по умолчанию, установленные в defaults/main.yml
. Если хотите, вы можете изменить их, чтобы настроить поведение этой роли.
---
# файл по умолчанию для github_cli
# Опции:
# - `present` гарантирует, что Github CLI установлен
# - `absent` гарантирует, что Github CLI не установлен.
# Если вы хотите сменить методы установки, вам нужно будет выполнить эту
# роль один раз с настройкой `state=absent`, а затем снова запустить её
# с новой настройкой, используя `state=present`.
github_cli_state: present
# По умолчанию, `github_cli_install_method` динамически назначается в зависимости от вашего дистрибутива.
_github_cli_install_method:
Archlinux: distro_package # Значение по умолчанию для Archlinux
default: repo # Значение по умолчанию для всех других дистрибутивов
# Как объяснялось выше, вы можете переопределить эту переменную.
# Просто убедитесь, что выбранный вами вариант поддерживает ваш дистрибутив.
github_cli_install_method: "{{ _github_cli_install_method[ansible_distribution] | default(_github_cli_install_method['default']) }}"
# Следует ли проверять отпечаток ключа подписи RPM репозитория перед его импортом.
# Обратите внимание, что эта опция доступна только для RPM репозитория и не для apt.
github_cli_check_rpm_key_fingerprint: true
# См. [здесь][1] для получения дополнительной информации.
# Значение по умолчанию для этой роли основано на рекомендациях Github.
github_cli_apt_repo_codename: stable
# В Yum/Dnf: Передайте `enablerepo` в модуль `package`.
github_cli_enablerepo: omit
[1]: https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-apt
Пример playbook
---
- name: Установить Github CLI
hosts: all
become: true
tasks:
- name: Обновить кэш apt
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Установить Github CLI
ansible.builtin.include_role:
name: "gotmax23.github_cli"
Совместимость
Эта роль тестировалась с последней версией ansible-core и последней версией коллекций из Ansible Galaxy. Это единственная версия Ansible, которую эта роль официально поддерживает. Поддержка других версий предоставляется в рамках возможного.
Эта роль совместима со следующими дистрибутивами:
дистрибутив | версии |
---|---|
Archlinux | любой |
Debian | buster, bullseye, bookworm |
EL | 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Лицензия
Автор
Максвелл Г (@gotmax23)
ansible-galaxy install gotmax23/ansible-role-github_cli