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

作者信息

NioniosFr

关于项目

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