其他工具和程序
Ansible 社区使用各种工具来处理 Ansible 项目。以下是其中一些最流行的工具的列表。
如果您知道应添加的任何其他工具,可以通过单击此页面右上角的“在 GitHub 上编辑”来更新此列表。
流行的编辑器
Emacs
一个免费的开源文本编辑器和 IDE,它支持自动缩进、语法高亮显示和内置终端 shell(以及其他功能)。
yaml-mode - YAML 高亮显示和语法检查。
jinja2-mode - Jinja2 高亮显示和语法检查。
magit-mode - Emacs 中的 Git 外观。
lsp-mode - Ansible 语法高亮显示、自动完成和诊断。
PyCharm
一个用于 Python 软件开发的完整 IDE。它附带了编写 Python 脚本和应用程序所需的一切,包括对 YAML 语法高亮显示的支持。如果您编写模块并提交 Ansible 代码,它将是一个非常有用的工具。可用于调试 ansible-core
。有关更多信息,请参见 PyCharm。有用的插件包括
Ansible Lint - Ansible Lint 与自动/持续注释错误、警告和信息集成,同时进行编辑。
Ansible Vault Integration - 将 Ansible Vault 直接集成到 IntelliJ IDEA 中,提供用于加密和解密密钥的上下文操作。
Sublime
一个闭源、订阅式 GUI 文本编辑器。您可以使用主题自定义 GUI,并安装用于语言高亮显示和其他改进的包。您可以在 Linux、macOS 和 Windows 上安装 Sublime。有用的 Sublime 插件包括
GitGutter - 显示 Git 存储库中文件的信息。
SideBarEnhancements - 提供对文件和文件夹侧边栏操作的增强功能。
Sublime Linter - Sublime Text 3 的代码 linting 框架。
Pretty YAML - 美化 Sublime Text 2 和 3 的 YAML。
Yamllint - Sublime 围绕 yamllint 的包装器。
vim
一个开源的免费命令行文本编辑器。有用的 vim 插件包括
Ansible vim - vim 语法插件,用于 Ansible 2.x,它支持 YAML 剧本、Jinja2 模板和 Ansible 的主机文件。
Ansible vim 和 neovim 插件 - vim 插件(lsp 客户端),用于 Ansible,它支持自动完成、语法高亮显示、悬停、诊断和转到支持。
Visual Studio Code
一个开源的免费 GUI 文本编辑器,由 Microsoft 创建和维护。有用的 Visual Studio Code 插件包括
Red Hat 的 Ansible 扩展 - 提供自动完成、语法高亮显示、悬停、诊断、转到支持以及用于本地和执行环境设置的运行 ansible-playbook 和 ansible-navigator 工具的命令。
Red Hat 的 YAML 支持 - 通过 yaml-language-server 提供 YAML 支持,内置 Kubernetes 和 Kedge 语法支持。
注意
Visual Studio Code Ansible 扩展由 Ansible 社区和 Red Hat 维护。
开发工具
用于验证剧本的工具
Ansible Lint - 用于 Ansible 剧本的高度可配置的 linter。
Ansible Review - Ansible Lint 的扩展,专为代码审查而设计。
Molecule - 用于 Ansible 剧本和角色的测试框架。
yamllint - 用于检查语法有效性(包括重复键和缩进问题)的命令行实用程序。
其他工具
Ansible Inventory Grapher - 直观地显示库存继承层次结构以及在库存中定义变量的级别。
Ansible Shell - 用于 Ansible 的交互式 shell,具有对所有模块的内置制表符完成功能。
Ansible Silo - 由 Docker 创建的独立 Ansible 环境。
Ansigenome - 用于帮助您管理 Ansible 角色的命令行工具。
antsibull-changelog - 用于 Ansible 集合的变更日志生成器。
antsibull-docs - 为集合生成文档站点,并可以验证集合文档。
ARA - ARA 记录 Ansible 剧本,并使用报告 API、UI 和 CLI 使它们更容易理解和调试。
Awesome Ansible - 协作策划的绝佳 Ansible 资源列表。
nanvault - 一个独立的工具,用于以 Ansible Vault 格式加密和解密文件,具有 UNIX 风格的可组合性。
OpsTools-ansible - 使用 Ansible 配置一个环境,提供对 OpsTools 的支持,即集中式日志记录和分析、可用性监控和性能监控。
ansibledb - 使用 MongoDB 存储 Ansible 报告和事实的 Flask API 服务器。除了不同的查询功能外,此工具还提供了一个 Web UI,用于查看 Ansible 报告、事实和日志。