klaatu51.github_downloader
Ansible 角色:github_downloader
Ansible 角色用于将二进制文件从 GitHub 仓库的发布版本下载到所需位置。
要求
此角色在 Ansible 2.10.0 及更高版本上进行了测试,适用于 Linux/UNIX 平台。
免责声明
如果您遇到任何问题,请创建一个 GitHub 问题,因我在业余时间维护此角色,所以无法承诺快速修复。
角色变量
以下是变量列表。有关更详细的描述,请参阅 defaults/main.yml。
变量 | 简短描述 | 默认值 |
---|---|---|
github_download_packages |
要下载的二进制文件列表。请参见下面的示例。 | [] |
github_download_location |
下载位置。 | $HOME/bin |
github_download_pat_token |
用于查询 API 的 PAT 令牌 | 无 |
github_download_hostname |
GitHub 的主机名。 | github.com |
github_download_api_hostname |
GitHub API 的主机名。 | api.github.com |
文件名模板
以下变量可以在文件名中使用,并将被 Ansible 事实发现的值替换。
变量 | 描述 | 示例 |
---|---|---|
%ARCH% |
操作系统架构 | amd64 |
%ARCHRAW% |
操作系统架构(不会将 x86_64 替换为 amd64 ) |
x86_64 |
%OS% |
操作系统系列(小写) | linux / darwin |
%OSCAPITALIZED% |
操作系统系列(大写) | Linux / Darwin |
%VERSION% |
软件包版本 | v1.20.0 |
%NVERSION% |
软件包版本(不带 v 前缀) |
1.20.0 |
依赖关系
没有其他角色的依赖。
示例剧本
创建一个从 GitHub 获取用户列表的示例剧本
- hosts: all
become: true
vars:
github_download_packages:
- name: package_name
repo: owner/repo
version: 1.0.2 # 可以是 'latest'
filename: package_name-%VERSION%-%OS%-%ARCH%.tar.gz # 请参见 README.md 中的文件名模板
extracted_filename: package_name-%VERSION%
command: package_name install
command_become: false # 对此命令以 root 身份运行
roles:
- role: xanmanning.github_downloader