Ansible 识别易受攻击的剧本

Ansible 识别易受攻击的剧本,ansible,yaml,lint,ansible-lint,Ansible,Yaml,Lint,Ansible Lint,我想使用Ansible lint为我的项目中的所有Ansible剧本添加一个自动语法检查(作为CI过程)。 在这个项目的几个目录中都有剧本,所以我考虑使用类似于locate*.yml的东西。但是,问题是我的项目中还有一些其他YAML文件,它们不是Ansible剧本,因此我不希望Ansible lint测试这些文件(因为它总是会失败) 有没有办法区分ansible playbooks和常规YAML文件?我假设所有ansible playbooks都包含类似于-hosts的内容,也许您可以使用gre

我想使用
Ansible lint
为我的项目中的所有Ansible剧本添加一个自动语法检查(作为CI过程)。 在这个项目的几个目录中都有剧本,所以我考虑使用类似于
locate*.yml
的东西。但是,问题是我的项目中还有一些其他YAML文件,它们不是Ansible剧本,因此我不希望
Ansible lint
测试这些文件(因为它总是会失败)


有没有办法区分ansible playbooks和常规YAML文件?

我假设所有ansible playbooks都包含类似于
-hosts
的内容,也许您可以使用
grep
进行搜索查询。然后使用
| xargs ansible lint
对找到的文件执行linter


因此,请忘记
.yaml
文件扩展名,但采取另一种方法。你会明白:)

你可以使用
tasks
以及
hosts
。我更喜欢
tasks
角色
@error404你说
tasks
角色
就像hosts
tasks
角色
是每个ansible剧本中的关键词。@error404哦,我明白了。例如,对于同时具有
-hosts:
任务的文件,如何才能执行
grep
?如果我尝试执行类似
grep-rwl'-hosts:'
的操作,我会得到一个错误:
grep:invalid选项--'
,但如果没有
-
,它工作正常。有没有办法包括
-
grep-rwl--'-hosts:'