nioniosfr.github_release
Ansible 角色:GitHub 发布
这是一个通用角色,用于在基于 Linux x86_64 的发行版上安装在 GitHub 上发布的二进制应用程序。
要求
该角色针对基于 x86_64
架构的 Debian 和 RHEL 系统。
此角色旨在远程机器上运行,这意味着远程机器需要有互联网连接。
这个角色比较通用,因此在安装包时需要谨慎。
重要: 始终检查您要安装的软件包,因为无法通用地验证下载的校验和。
角色变量
必需的:
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_configure_system_path 为 True),是否将 `ghr_app_binary_dest` 目录添加到 `PATH` 的前面或后面。
ghr_app_tmp_dir: # 用于存储下载的归档文件的临时文件夹
ghr_app_releases_url: # GitHub 发布的 URL。
ghr_app_archive: # 归档文件的名称。
依赖项
无
示例剧本
多次运行该角色会导致变量合并问题。
建议每个主机执行一次角色。
- 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 # 删除下载的文件以及如果之前运行时已创建的 `app` 的系统 profile.d
许可证
MIT
作者信息
关于项目
A generic role to install a binary application released on GitHub in a Linux x86_64 based distro.
安装
ansible-galaxy install nioniosfr.github_release
许可证
mit
下载
190
拥有者
Principal Engineer