github_release
Ansible Роль: GitHub Release
Универсальная роль для установки бинарного приложения, выпущенного на GitHub в операционной системе Linux на архитектуре x86_64.
Требования
Роль нацелена на системы, основанные на Debian и RHEL, построенные на архитектуре x86_64
.
Роль предназначена для выполнения на удаленной машине, поэтому необходим выход в интернет.
Эта роль достаточно универсальна, что означает, что нужно осторожно выбирать пакеты для установки.
Важно: Всегда проверяйте пакеты, которые вы собираетесь установить, так как нет общего способа проверки контрольной суммы загруженного файла.
Переменные Роли
Обязательные:
ghr_org_name: # Название действительной организации на GitHub
ghr_app_name: # Название действительного репозитория на GitHub, принадлежащего организации
По умолчанию:
ghr_app_version: "latest" # Действующая версия из: https://github.com/{{ ghr_org_name }}/{{ ghr_app_name }}/releases/
ghr_app_binary_dest: "/opt/{{ ghr_app_name }}" # Каталог, куда будет помещен бинарник `ghr_app_name`
ghr_app_cleanup_after: false # Если установлено в true, все загруженные файлы будут удалены
ghr_app_configure_system_path: true # Нужно ли добавлять каталог `ghr_app_binary_dest` в системный `PATH`
ghr_app_system_path_prepend: false # Нужно ли добавлять или устанавливать `ghr_app_binary_dest` в начале `PATH`, ЕСЛИ (ghr_app_configure_system_path равно True).
ghr_app_tmp_dir: # Временная папка для хранения загруженного архива
ghr_app_releases_url: # URL релизов на GitHub.
ghr_app_archive: # Название архива.
Зависимости
Нет
Пример Playbook
Множественное выполнение роли приведет к проблемам с объединением переменных.
Рекомендуемое использование — запускать одну роль на каждом хосте.
- 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" # Хранить загруженный архив в более постоянном пути, чем '/tmp'
- 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" # Устанавливается в общем пользовательском пути
ghr_app_configure_system_path: false # Не изменять системный путь для пользователей
ghr_app_tmp_dir: "/mnt/nfs_share/downloads" # Изменить папку, используемую для загрузок
ghr_app_cleanup_after: true # Удалить как загруженный файл, так и системный profile.d для `app`, если он уже был создан при предыдущем запуске
Лицензия
MIT
Информация об авторе
О проекте
A generic role to install a binary application released on GitHub in a Linux x86_64 based distro.
Установить
ansible-galaxy install NioniosFr/ansible-role-github-release
Лицензия
mit
Загрузки
180
Владелец
Principal Engineer