xanmanning.github_downloader
Ansibleロール: github_downloader
GitHubリポジトリのリリースからバイナリファイルを指定した場所にダウンロードするためのAnsibleロールです。
要件
このロールは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% |
OSアーキテクチャ | amd64 |
%ARCHRAW% |
OSアーキテクチャ(x86_64 はamd64 に置き換えない) |
x86_64 |
%OS% |
OSファミリー(小文字) | linux / darwin |
%OSCAPITALIZED% |
OSファミリー(大文字) | 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