ansible-galaxy

执行各种与角色和集合相关的操作。

概要

usage: ansible-galaxy [-h] [--version] [-v] TYPE ...

描述

管理 Ansible 角色和集合的命令。

所有 CLI 工具都不设计为同时运行自身。请使用外部调度程序和/或锁定来确保没有冲突的操作。

常用选项

--version

显示程序的版本号、配置文件位置、已配置的模块搜索路径、模块位置、可执行文件位置并退出

-h, --help

显示此帮助消息并退出

-v, --verbose

导致 Ansible 打印更多调试消息。添加多个 -v 将增加详细程度,内置插件当前最多评估到 -vvvvvv。一个合理的开始级别是 -vvv,连接调试可能需要 -vvvv。此参数可以指定多次。

操作

集合

对 Ansible Galaxy 集合执行操作。必须与以下列出的其他操作(如 init/install)结合使用。

下载集合

将集合及其依赖项作为 tarball 下载以进行脱机安装。

--clear-response-cache

清除现有的服务器响应缓存。

--no-cache

不使用服务器响应缓存。

--pre

包含预发布版本。默认情况下忽略语义版本控制预发布版本

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-n, --no-deps

不要下载列为依赖项的集合。

-p  <DOWNLOAD_PATH>, --download-path  <DOWNLOAD_PATH>

要将集合下载到的目录。

-r  <REQUIREMENTS>, --requirements-file  <REQUIREMENTS>

包含要下载的集合列表的文件。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

初始化集合

创建符合 Galaxy 元数据格式的角色或集合的基本框架。需要角色或集合名称。集合名称必须采用 <namespace>.<collection> 格式。

--collection-skeleton  <COLLECTION_SKELETON>

新集合应基于的集合框架的路径。

--init-path  <INIT_PATH>

将在其中创建框架集合的路径。默认值为当前工作目录。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-e, --extra-vars

设置额外的变量,以键值对或 YAML/JSON 格式,如果文件名以 @ 开头,则表示文件路径。此参数可以多次指定。

-f, --force

强制覆盖已存在的角色或集合

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

集合构建

构建一个 Ansible Galaxy 集合工件,可以将其存储在 Ansible Galaxy 等中央存储库中。默认情况下,此命令从当前工作目录构建。可以选择传入集合输入路径(其中包含 galaxy.yml 文件)。

--output-path  <OUTPUT_PATH>

构建集合的目标路径。默认为当前工作目录。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-f, --force

强制覆盖已存在的角色或集合

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

集合发布

将集合发布到 Ansible Galaxy。需要发布集合的 tarball 文件路径。

--import-timeout  <IMPORT_TIMEOUT>

等待集合导入过程完成的时间。

--no-wait

不等待导入验证结果。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

集合安装

安装一个或多个角色(ansible-galaxy role install)或一个或多个集合(ansible-galaxy collection install)。您可以传入一个列表(角色或集合)或使用下面列出的文件选项(它们是互斥的)。如果传入列表,它可以是名称(将通过 Galaxy API 和 GitHub 下载),也可以是本地 tar 归档文件。

--clear-response-cache

清除现有的服务器响应缓存。

--disable-gpg-verify

从 Galaxy 服务器安装集合时禁用 GPG 签名验证。

--force-with-deps

强制覆盖已存在的集合及其依赖项。

--ignore-signature-status-code

==SUPPRESS==。此参数可以多次指定。

--ignore-signature-status-codes

在签名验证期间要忽略的状态码的空格分隔列表(例如,NO_PUBKEY FAILURE)。可以在 L(https://github.com/gpg/gnupg/blob/master/doc/DETAILS#general-status-codes).Note) 中查看选项的描述:在位置参数之后指定这些参数,或使用 – 将它们分隔开。此参数可以多次指定。

--keyring  <KEYRING>

签名验证期间使用的密钥环。

--no-cache

不使用服务器响应缓存。

--offline

安装集合工件(tarball)而不联系任何分发服务器。这并不适用于远程 Git 存储库中的集合或指向远程 tarball 的 URL。

--pre

包含预发布版本。默认情况下忽略语义版本控制预发布版本

--required-valid-signature-count  <REQUIRED_VALID_SIGNATURE_COUNT>

必须成功验证集合的签名数量。这应该是一个正整数或 -1,表示必须使用所有签名来验证集合。在值前面加上 + 以在集合未找到有效签名时失败(例如 +all)。

--signature

一个额外的签名源,用于在从 Galaxy 服务器安装集合之前验证 MANIFEST.json 的真实性。与位置集合名称结合使用(与 –requirements-file 互斥)。此参数可以多次指定。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-U, --upgrade

升级已安装的集合工件。这还会更新依赖项,除非提供了 –no-deps。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-f, --force

强制覆盖已存在的角色或集合

-i, --ignore-errors

在安装过程中忽略错误并继续安装下一个指定的集合。这不会忽略依赖冲突错误。

-n, --no-deps

不下载列为依赖项的集合。

-p  <COLLECTIONS_PATH>, --collections-path  <COLLECTIONS_PATH>

包含集合的目录的路径。

-r  <REQUIREMENTS>, --requirements-file  <REQUIREMENTS>

包含要安装的集合列表的文件。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

集合列表

列出已安装的集合或角色

--format  <OUTPUT_FORMAT>

显示集合列表的格式。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-p, --collections-path

除了默认的 COLLECTIONS_PATHS 之外,还可以在一个或多个目录中搜索集合。使用“:”分隔多个路径。此参数可以多次指定。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

集合校验

将校验和与服务器上找到的集合和已安装的副本进行比较。这不会校验依赖项。

--ignore-signature-status-code

==SUPPRESS==。此参数可以多次指定。

--ignore-signature-status-codes

在签名验证期间要忽略的状态码的空格分隔列表(例如,NO_PUBKEY FAILURE)。可以在 L(https://github.com/gpg/gnupg/blob/master/doc/DETAILS#general-status-codes).Note) 中查看选项的描述:在位置参数之后指定这些参数,或使用 – 将它们分隔开。此参数可以多次指定。

--keyring  <KEYRING>

签名验证期间使用的密钥环。

--offline

在本地校验集合完整性,无需联系服务器获取规范清单哈希。

--required-valid-signature-count  <REQUIRED_VALID_SIGNATURE_COUNT>

必须成功校验集合的签名数量。这应该是一个正整数或 all,表示所有签名都必须用于校验集合。在值前加上 + 以在未找到集合的有效签名时失败(例如 +all)。

--signature

在使用 MANIFEST.json 校验集合的其余内容之前,用于校验 MANIFEST.json 真实性的其他签名源。与位置集合名称一起使用(与 –requirements-file 互斥)。此参数可以多次指定。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-i, --ignore-errors

忽略校验期间的错误并继续校验下一个指定的集合。

-p, --collections-path

除了默认的 COLLECTIONS_PATHS 之外,还可以在一个或多个目录中搜索集合。使用“:”分隔多个路径。此参数可以多次指定。

-r  <REQUIREMENTS>, --requirements-file  <REQUIREMENTS>

包含要校验的集合列表的文件。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

角色

对 Ansible Galaxy 角色执行操作。必须与如下列出的其他操作(如删除/安装/初始化)结合使用。

角色初始化

创建符合 Galaxy 元数据格式的角色或集合的基本框架。需要角色或集合名称。集合名称必须采用 <namespace>.<collection> 格式。

--init-path  <INIT_PATH>

将在其中创建角色框架的路径。默认为当前工作目录。

--offline

创建角色时不查询 Galaxy API。

--role-skeleton  <ROLE_SKELETON>

新角色应基于的角色框架的路径。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

--type  <ROLE_TYPE>

使用备用角色类型进行初始化。有效类型包括:“container”、“apb”和“network”。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-e, --extra-vars

设置额外的变量,以键值对或 YAML/JSON 格式,如果文件名以 @ 开头,则表示文件路径。此参数可以多次指定。

-f, --force

强制覆盖已存在的角色或集合

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

角色移除

从本地系统中移除作为参数传递的角色列表。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-p, --roles-path

包含角色的目录路径。默认值为通过 DEFAULT_ROLES_PATH 配置的第一个可写路径:{{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}。此参数可以多次指定。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

角色删除

从 Ansible Galaxy 删除角色。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

角色列表

列出已安装的集合或角色

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-p, --roles-path

包含角色的目录路径。默认值为通过 DEFAULT_ROLES_PATH 配置的第一个可写路径:{{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}。此参数可以多次指定。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

角色导入

用于将角色导入到 Ansible Galaxy。

--branch  <REFERENCE>

要导入的分支名称。默认为存储库的默认分支(通常为 master)。

--no-wait

不要等待导入结果。

--role-name  <ROLE_NAME>

角色应具有的名称,如果与存储库名称不同。

--status

检查给定 github_user/github_repo 的最近导入请求的状态。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

角色设置

为 Ansible Galaxy 角色设置来自 Github 或 Travis 的集成。

--list

列出所有集成。

--remove  <REMOVE_ID>

移除与提供的 ID 值匹配的集成。使用 –list 查看 ID 值。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-p, --roles-path

包含角色的目录路径。默认值为通过 DEFAULT_ROLES_PATH 配置的第一个可写路径:{{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}。此参数可以多次指定。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

角色信息

打印已安装角色的详细信息以及从 Galaxy API 获取的信息。

--offline

创建角色时不查询 Galaxy API。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-p, --roles-path

包含角色的目录路径。默认值为通过 DEFAULT_ROLES_PATH 配置的第一个可写路径:{{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}。此参数可以多次指定。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

角色安装

安装一个或多个角色(ansible-galaxy role install)或一个或多个集合(ansible-galaxy collection install)。您可以传入一个列表(角色或集合)或使用下面列出的文件选项(它们是互斥的)。如果传入列表,它可以是名称(将通过 Galaxy API 和 GitHub 下载),也可以是本地 tar 归档文件。

--force-with-deps

强制覆盖现有角色及其依赖项。

--timeout  <TIMEOUT>

等待对 Galaxy 服务器执行操作的时间,默认为 60 秒。

--token  <API_KEY>, --api-key  <API_KEY>

Ansible Galaxy API 密钥,可以在 https://galaxy.ansible.com/me/preferences 找到。

-c, --ignore-certs

忽略 SSL 证书验证错误。

-f, --force

强制覆盖已存在的角色或集合

-g, --keep-scm-meta

在打包角色时使用 tar 而不是 scm 归档选项。

-i, --ignore-errors

忽略错误并继续安装下一个指定的角色。

-n, --no-deps

不下载列为依赖项的角色。

-p, --roles-path

包含角色的目录路径。默认值为通过 DEFAULT_ROLES_PATH 配置的第一个可写路径:{{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}。此参数可以多次指定。

-r  <REQUIREMENTS>, --role-file  <REQUIREMENTS>

包含要安装的角色列表的文件。

-s  <API_SERVER>, --server  <API_SERVER>

Galaxy API 服务器 URL

环境

可以指定以下环境变量。

ANSIBLE_CONFIG – 覆盖默认的 Ansible 配置文件

ansible.cfg 中的大多数选项都提供了更多可用的环境变量。

文件

/etc/ansible/ansible.cfg – 配置文件,如果存在则使用

~/.ansible.cfg – 用户配置文件,如果存在则覆盖默认配置

作者

Ansible 最初由 Michael DeHaan 编写。

有关完整贡献者列表,请参阅 AUTHORS 文件。

许可证

Ansible 在 GPLv3+ 许可证的条款下发布。

另请参阅

ansible(1), ansible-config(1), ansible-console(1), ansible-doc(1), ansible-inventory(1), ansible-playbook(1), ansible-pull(1), ansible-vault(1)