gh_role_installer

Ansible Роль: gh_role_installer

GitHub release

Это Ansible роль, которая устанавливает релизы с GitHub. Она создана для установки бинарных файлов из релизов GitHub. Она предназначена только для установки простых бинарных файлов (написанных на Go или Rust) и не предназначена для установки сложного программного обеспечения.

Вы можете использовать ее для настройки инструментов, таких как:

  • bat
  • d2
  • gini
  • goreleaser
  • helm
  • k9s
  • pgweb
  • vhs
  • ...

Требования

Нет.

Переменные Роли

Доступные переменные перечислены ниже, только gh_role_installer_tmp_directory и gh_role_installer_binary_path установлены по умолчанию:

gh_role_installer_version: "latest"   # latest - специальное значение для получения последнего релиза (будет использован API GitHub для получения последнего релиза)
gh_role_installer_os: "linux"         # название ОС, используется для загрузки релиза
gh_role_installer_arch: "amd64"       # архитектура, используется для загрузки релиза
gh_role_installer_repository: "sgaunet/jwt-cli"
# url релиза, используется для загрузки релиза, будьте осторожны: version_to_install - специальное значение, которое будет заменено на версию, которую нужно установить
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  # если true, релиз является архивом, он будет загружен и распакован
gh_role_installer_binary_name: "jwt-cli"     # имя бинарного файла для установки
gh_role_installer_cmd_to_get_version: "jwt-cli version"  # команда для получения версии установленного бинарного файла
gh_role_installer_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}" # временный каталог для загрузки релиза
gh_role_installer_binary_path: "/usr/local/bin/{{ gh_role_installer_binary_name }}"  # каталог, куда будет установлен бинарный файл

Зависимости

Нет.

Пример 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 }}"

Роль также содержит переменные для установки различных инструментов. Смотрите список доступных инструментов в этой документации.

Лицензия

MIT

Установить
ansible-galaxy install sgaunet/ansible-role-gh-release-installer
Лицензия
mit
Загрузки
345
Владелец