sgaunet.gh_role_installer
Ansible Role: 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" # OS名、リリースをダウンロードするために使用されます
gh_role_installer_arch: "amd64" # アーキテクチャ、リリースをダウンロードするために使用されます
gh_role_installer_repository: "sgaunet/jwt-cli"
# リリースのURL、リリースをダウンロードするために使用されます。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 }}" # バイナリがインストールされるディレクトリ
依存関係
特になし。
使用例
- 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