识别 Ansible 剧本

Identify Ansible playbooks

我想使用 ansible-lint 为我项目中的所有 Ansible 剧本添加一个自动语法检查(作为 CI 过程)。 项目中的几个目录下都有playbook,于是想到了用locate *.yml之类的。然而,问题是我的项目中还有一些其他 YAML 文件,它们不是 Ansible 剧本,因此我不希望 ansible-lint 测试这些文件(因为它总是会失败)。

有什么方法可以区分 ansible playbook 和常规 YAML 文件吗?

我假设您所有的 ansible-playbooks 都包含 - hosts 之类的内容,或许您可以使用 grep 作为该搜索查询。然后使用 | xargs ansible-lint.

对找到的文件执行 linter

所以忘记.yaml文件扩展名,而是采取另一种方法。你会明白的:)