gotmax23.github_cli

Ansible角色:github_cli

角色 gotmax23.github_cli Github 仓库 SourceHut 仓库 MIT许可证 Github开放问题 Github开放PR 角色版本 自上一个版本以来的提交 Galaxy角色质量 Galaxy角色下载量 Github Actions Molecule工作流程状态 Github Actions Galaxy工作流程状态

Ansible角色,用于安装Github CLI (gh)。

Beta警告

此角色目前处于测试阶段,不适用于生产环境。发布之间可能会出现重大变更,因此请务必阅读发布说明。

需求

此角色依赖于某些集合,这些集合不包含在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为以下值之一来覆盖默认安装方法。

github_cli_install_method=repo

描述:上游的Apt和RPM仓库安装Github CLI。

支持的发行版: apt仓库支持所有Debian衍生版。RPM仓库支持的RPM发行版包括Fedora、企业Linux(CentOS、Almalinux、Rocky Linux、RHEL等)、OpenSUSE Leap和OpenSUSE Tumbleweed。

默认值: 是(对于所有发行版,除非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: 安装Github CLI
  hosts: all
  become: true

  tasks:
    - name: 更新apt缓存
      when: ansible_pkg_mgr == "apt"
      ansible.builtin.apt:
        update_cache: true
        cache_valid_time: 3600

    - name: 安装Github CLI
      ansible.builtin.include_role:
        name: "gotmax23.github_cli"

兼容性

此角色在最新版本的ansible-core和来自Ansible Galaxy的最新版本集合上进行了测试。这是此角色正式支持的唯一版本。对于其他版本,提供最佳努力支持。

此角色与以下发行版兼容:

发行版 版本
Archlinux 任意
Debian buster, bullseye, bookworm
EL 8
Fedora 34, 35, 36
opensuse 15.3, tumbleweed
Ubuntu bionic, focal

许可证

MIT

作者

Maxwell G (@gotmax23)

关于项目

Ansible role that installs Github CLI (gh).

安装
ansible-galaxy install gotmax23.github_cli
许可证
mit
下载
212
拥有者
@gotmax:matrix.org | Fedora developer. Ansible Community Steering Committee member. Pythonista. | See my sr.ht profile for my current code.