gantsign.antigen_bundles
Ansible 角色:Antigen Bundles
这是一个 Ansible 角色,用于将捆绑包添加到您的 Antigen Zsh 配置中。将此角色与 Ansible 标签 结合使用以有条件地安装特定捆绑包非常有用。
重要提示: 您必须使用 gantsign.antigen 角色安装 Antigen(并为同一用户配置 Antigen),此角色才能正常工作。
:thumbsdown: 弃用通知 :thumbsdown:
最后一个 Antigen 版本是 v2.2.3,发布日期为 2018 年 1 月 4 日。鉴于 Antigen 似乎不再维护,我们建议不再使用此角色。该角色将继续维护,直到 GantSign 转移到其他 Zsh 插件管理器。
要求
Ansible >= 2.9
Linux 发行版
Debian 系列
Debian
- Stretch (9)
- Buster (10)
- Bullseye (11)
Ubuntu
- Bionic (18.04)
- Focal (20.04)
RedHat 系列
Rocky Linux
- 8
Fedora
- 35
SUSE 系列
openSUSE
- 15.3
注意:其他版本可能也能工作,但未经过测试。
角色变量
以下变量将改变此角色的行为:
# Antigen 是为每个用户配置的,因此您需要指定要为其安装的用户
users:
- username: # 要为其安装 Antigen 的用户的用户名
antigen_bundles:
- name: # Antigen 捆绑包的名称(例如,Oh-My-Zsh 自带的某个插件)
url: # 可选。如果它不是 Oh-My-Zsh 插件之一,您必须指定 URL(使用 GitHub 的 owner/repo 简写)
location: # 可选。包含插件的代码库中的目录
branch: # 可选。要检出的 Git 分支。
tag: # 可选。要检出的 Git 标签(优先于分支)
args: [] # 可选。传递给 Antigen 的命令行参数
env: {} # 可选。要设置的环境变量
# 在此添加更多捆绑包
# 在此添加更多用户
示例剧本
以下示例仅显示该角色的配置:
- hosts: servers
roles:
- role: gantsign.antigen_bundles
users:
- username: example
antigen_bundles:
# 从默认代码库中提取的捆绑包(robbyrussell 的 oh-my-zsh)
- name: command-not-found
# 语法高亮捆绑包
- name: zsh-syntax-highlighting # `name` 是必需的(任何有效的文件名只要在捆绑包中唯一即可)
url: zsh-users/zsh-syntax-highlighting
与所需的配套 gantsign.antigen
角色的示例:
- hosts: servers
roles:
- role: gantsign.antigen
users:
- username: example
antigen_libraries:
- name: oh-my-zsh
antigen_theme:
name: robbyrussell
antigen_bundles:
- name: command-not-found
- name: docker
- name: git
- role: gantsign.antigen_bundles
tags:
- java
users:
- username: example
antigen_bundles:
- name: mvn
在上面的示例中,如果您告诉 Ansible 跳过带有 java
标签的任务,则 mvn
捆绑包/插件将不会被安装。
GantSign 的更多角色
您可以在 Ansible Galaxy 上找到 GantSign 的更多角色。
开发与测试
该项目使用 Molecule 来帮助开发和测试;角色通过 Testinfra 和 pytest 进行单元测试。
要进行开发或测试,您需要安装以下内容:
由于上述内容的安装可能比较复杂,因此该项目包含 Molecule Wrapper。Molecule Wrapper 是一个 shell 脚本,它安装 Molecule 及其依赖项(除了 Linux),然后使用您传递的命令执行 Molecule。
要使用 Molecule Wrapper 测试此角色,请从项目根目录运行以下命令:
./moleculew test
注意:某些依赖项需要 sudo
权限才能安装。
许可证
MIT
作者信息
约翰·弗里曼
GantSign 有限公司。 公司编号:06109112(在英格兰注册)