sgaunet.gh_role_installer
Ansible 角色: gh_role_installer
一个用于从 GitHub 安装发布版本的 Ansible 角色。它被创建用来安装来自 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 是一个特殊值,用于获取最新的发布版本(将使用 GitHub API 来获取最新发布)
gh_role_installer_os: "linux" # 操作系统名称,用于下载发布版本
gh_role_installer_arch: "amd64" # 架构,用于下载发布版本
gh_role_installer_repository: "sgaunet/jwt-cli"
# 发布链接,用于下载发布版本,注意 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