安装¶
安装 Ansible-lint 以应用规则并遵循自动化内容的最佳实践。
注意
Ansible-lint 目前不支持在 Windows 系统上安装。
警告
Ansible-lint 不支持本文档中未提及的任何安装方法。在报告任何与安装相关的错误之前,请查看以下所有详细信息
- 您应该仅使用本文档中概述的安装方法。
- 您应该将 Python 安装程序(`pip` 或 `pipx`)升级到 pypi.org 上可用的最新版本。如果您使用系统包管理器,则需要将安装程序升级到较新版本。
- 如果您是从 git zip 存档安装的(不支持,但应该可以工作),请确保您使用主分支和最新版本的 pip 和 setuptools。
- 如果您在容器或系统包中安装 Ansible-lint,则不应在此处报告问题。请改而联系相关的容器或包提供商。
- 如果您使用的是 poetry,请阅读此 讨论。
欢迎提出改进安装说明的拉取请求。任何与安装相关的新的问题都将被关闭并锁定。
对于容器镜像,我们建议使用 creator-ee,其中包含 `ansible-dev-tools`(它将关键的 Ansible 开发包组合到一个统一的 Python 包中)。如果您有 `creator-ee` 容器无法满足的用例,请通过 讨论 论坛联系团队。
您也可以使用 Ansible-lint GitHub action 在您的源代码上运行 Ansible-lint,而不是直接安装它。
安装最新版本¶
推荐
安装 `ansible-lint` 的**推荐**方法是使用 `ansible-dev-tools` 包。Ansible 开发工具旨在简化创建 Ansible 内容所需的多个工具的设置和使用。它将关键的 Ansible 开发包组合到一个统一的 Python 包中。
您可以使用 pip3 或 pipx Python 包管理器安装最新版本的 Ansible-lint。使用 pipx 将 Ansible-lint 与您当前的 Python 环境隔离,作为创建虚拟环境的替代方法。
注意
如果您想安装用于测试特定版本的 ansible-lint 的所有依赖项的确切版本,您可以添加 `lock` extra。这仅适用于 Python 3.10 或更高版本。仅在虚拟环境中执行此操作。
在 Fedora 和 RHEL 上安装¶
您可以使用 `dnf` 包管理器在 Fedora 或 Red Hat Enterprise Linux (RHEL) 上安装 Ansible-lint。
注意
在 RHEL 上,`ansible-lint` 包是“Red Hat Ansible Automation Platform”订阅的一部分,需要激活。
从源码安装¶
注意:从源代码库安装需要 `pip>=22.3.1`。请查阅 PyPA 用户指南,了解有关管理 Pip 版本的更多信息。
将 Ansible Lint 作为 GitHub Action 安装¶
要使用此 action,只需创建一个文件 `.github/workflows/ansible-lint.yml`,其内容类似于下面的示例
# .github/workflows/ansible-lint.yml
name: ansible-lint
on:
pull_request:
branches: ["stable", "release/v*"]
jobs:
build:
name: Ansible Lint # Naming the build is important to use it as a status check
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Run ansible-lint
uses: ansible/ansible-lint@main
# optional (see below):
with:
args: ""
setup_python: "true"
working_directory: ""
requirements_file: ""
所有参数都是可选的,大多数用户不需要它们
- `args`:要传递给 ansible-lint 命令的参数。
- `setup_python`:是否应安装 python。默认为 `true`。
- `working_directory`:从中运行 ansible-lint 的目录。默认为 `github.workspace`。如果您只想检查存储库的子集,则可能需要此选项。
- `requirements_file`:要安装角色和集合依赖项的 requirements.yml 文件的路径。
由于 GitHub Actions 处理参数的方式存在限制,我们不打算提供额外选项。您必须使用 ansible-lint 自身的配置文件 来更改其行为。
要启用 dependabot 自动更新,对于较新版本的 ansible-lint action,您应该创建一个类似于 .github/dependabot.yml 的文件