ansible - 识别 Ansible 剧本
问题描述
我想为我项目中的所有 Ansible 剧本添加一个自动语法检查(作为 CI 过程),使用ansible-lint
. 项目的几个目录中有剧本,所以我想使用类似locate *.yml
. 但是,问题是我的项目中还有其他一些 YAML 文件,它们不是 Ansible 剧本,因此我不想ansible-lint
测试这些文件(因为它总是会失败)。
有什么方法可以区分 ansible playbook 和常规 YAML 文件吗?
解决方案
我假设您所有的 ansible-playbooks 都包含类似的内容- hosts
,也许您可以将grep
其用于该搜索查询。然后对找到的文件执行 linter | xargs ansible-lint
。
所以忘记.yaml
文件扩展名,而是采取另一种方法。你会想出来的:)
推荐阅读
- python - 编写了一个代码,如果至少一个整数是偶数则返回 true,否则返回 false
- python - 如何使用熊猫从同一列绘制值?
- javascript - 如何使用 .splice() 方法仅将对象从 Array 复制到另一个 Array?
- php - 通过包含来自 php 页面的 Js 源的 $.post() 返回数据
- bash - BASH - 如果检查字符串之间不等式的语句不起作用
- lua - 为什么在进行线性弹性模拟时,salome-elmer 模拟会返回 LUA 错误?
- java - 为什么 Java 跳过输入表单扫描程序
- php - Laravel 8 自定义标题仅适用于主页
- r - 如何根据 R 中的多个条件过滤行?
- spring-boot - Spring Boot 应用程序的编程身份验证失败