gotmax23.github_cli
Ansible ロール: github_cli
Github CLI (gh) をインストールする Ansible ロールです。
ベータ警告
このロールは現在ベータ版であり、本番環境での使用は意図されていません。リリース間で破壊的変更が発生する可能性があるため、リリースノートを必ず読んでください。
要件
このロールは、ansible-core に含まれていない特定のコレクションに依存しています。
このロールの要件をインストールするには、以下の内容で requirements.yml
ファイルを作成してください。
---
collections:
- community.general
次に、ansible-base/ansible-core 2.10 以降を使用している場合は、以下のコマンドを実行します。
ansible-galaxy install -r requirements.yml
まだ Ansible 2.9 を使用している場合は、次のコマンドを実行してください。
ansible-galaxy collection install -r requirements.yml
ロール変数
利用可能なインストール方法
このロールは、Github CLI をインストールするソースを選択することができます。デフォルトのインストール方法を上書きするには、github_cli_install_method
を以下の値の1つに設定します。
github_cli_install_method=repo
説明: この方法では、上流の Apt および RPM リポジトリから Github CLI をインストールします。
サポートされているディストリビューション: Apt リポジトリは、Debian 系に対応しています。RPM リポジトリは、Fedora、Enterprise Linux (CentOS, Almalinux, Rocky Linux, RHEL など)、OpenSUSE Leap、OpenSUSE Tumbleweed などの RPM ディストリビューションをサポートしています。
デフォルト: はい(Archlinux ではこのオプションはサポートされていません。)
github_cli_install_method=distro_package
説明: ディストリビューションのリポジトリから、入手可能な場合に Github CLI をインストールします。
サポートされているディストリビューション: Archlinux、OpenSUSE Tumbleweed、Fedora
デフォルト: Archlinux のみデフォルトです(github_cli_install_method=repo
はサポートされていません)。
このロールの変数とそのデフォルト値は、defaults/main.yml
に設定されています。必要に応じて、これらを変更してロールの動作をカスタマイズできます。
---
# github_cli のデフォルトファイル
# オプション:
# - `present` は、Github CLI がインストールされることを保証します
# - `absent` は、Github CLI がインストールされないことを保証します。
# インストール方法を変更したい場合は、古い設定で `state=absent` を使用してこのロールを一度実行し、その後新しい設定で `state=present` を使用して再度実行する必要があります。
github_cli_state: present
# デフォルトでは、`github_cli_install_method` はディストリビューションに基づいて動的に割り当てられます。
_github_cli_install_method:
Archlinux: distro_package # Archlinux のデフォルト
default: repo # その他のディストリビューションのデフォルト
# 上述のように、この変数を上書きできます。
# 選択したオプションがあなたのディストリビューションをサポートしていることを確認してください。
github_cli_install_method: "{{ _github_cli_install_method[ansible_distribution] | default(_github_cli_install_method['default']) }}"
# RPM リポジトリの署名キーのフィンガープリントをインポートする前に確認するかどうか。
# 注意: このオプションは RPM リポジトリにのみ対応しています。apt リポジトリにはありません。
github_cli_check_rpm_key_fingerprint: true
# 詳細は [こちら][1] を参照してください。
# このロールのデフォルトは、Github の推奨に基づいています。
github_cli_apt_repo_codename: stable
# Yum/Dnfの場合: `enablerepo` を `package` モジュールに渡します。
github_cli_enablerepo: omit
[1]: https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-apt
例のプレイブック
---
- name: Install Github CLI
hosts: all
become: true
tasks:
- name: Update apt cache
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Install Github CLI
ansible.builtin.include_role:
name: "gotmax23.github_cli"
互換性
このロールは、最新バージョンの ansible-core および Ansible Galaxy の最新コレクションを使用してテストされています。これは、このロールが正式にサポートしている唯一の Ansible バージョンです。他のバージョンに対しては最善の努力でサポートを提供します。
このロールは、以下のディストリビューションと互換性があります。
ディストリビューション | バージョン |
---|---|
Archlinux | 任意 |
Debian | buster、bullseye、bookworm |
EL | 8 |
Fedora | 34、35、36 |
opensuse | 15.3、tumbleweed |
Ubuntu | bionic、focal |
ライセンス
作者
Maxwell G (@gotmax23)
ansible-galaxy install gotmax23.github_cli