其他工具和程序
Ansible 社区使用各种工具来处理 Ansible 项目。以下是其中一些最受欢迎的工具列表。
如果您知道其他应该添加的工具,可以通过点击本页右上角的“在 GitHub 上编辑”来更新此列表。
流行的编辑器
Emacs
一个免费的开源文本编辑器和 IDE,支持自动缩进、语法高亮和内置终端 shell(以及其他功能)。
yaml-mode - YAML 高亮和语法检查。
jinja2-mode - Jinja2 高亮和语法检查。
magit-mode - Emacs 中的 Git porcelain。
lsp-mode - Ansible 语法高亮、自动完成和诊断。
PyCharm
一个用于 Python 软件开发的完整 IDE。它包含编写 Python 脚本和应用程序所需的一切,包括对 YAML 语法高亮的 支持。如果您编写模块并提交 Ansible 代码,它将是一个非常有用的工具。可以用来调试 ansible-core
。有关更多信息,请参阅 PyCharm。有用的插件包括
Ansible Lint - Ansible Lint 与编辑时的自动/持续错误、警告和信息注释集成。
Ansible Vault 集成 - 将 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 - 用于 Ansible 2.x 的 vim 语法插件,它支持 YAML 剧本、Jinja2 模板和 Ansible 的主机文件。
Ansible vim 和 neovim 插件 - 用于 Ansible 的 vim 插件(lsp 客户端),它支持自动完成、语法高亮、悬停、诊断和转到支持。
Visual Studio Code
一个由 Microsoft 创建和维护的开源免费 GUI 文本编辑器。有用的 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 清单图形化工具 - 直观地显示清单继承层次结构以及在清单中定义变量的级别。
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 服务器。除了各种查询功能外,该工具还提供用于查看 Ansible 报告、事实和日志的 Web UI。