yaml - 如何对 yaml 进行 lint 并忽略多个“depends_on”?
问题描述
我编写了一个使用 docker-compose.yml 文件创建本地开发环境的脚本。
运行脚本时,我想在升级环境之前使用 yaml linter 命令来验证文件是否是有效的 yaml,为此我使用了 yamlint 命令。
在这个 docker-compose.yml 文件中,有多个服务“依赖于”另一个服务,但是当我运行 yamllint 时,它返回以下错误:
47:5 error duplication of key "depends_on" in mapping (key-duplicates)
这不是一个真正的错误,但由于 lint 是脚本运行的一部分,所以我不能指望它的退出代码,因为它将此错误视为错误,而实际上并非如此。
docker-compose.yml 文件的示例部分:
microservice-one:
image: ms-one:feature-local_development_env
environment:
NODE_ENV: 'development'
NPM_TOKEN: 'SECRET'
ports:
- "3013:3000"
depends_on:
- redis-cluster
microservice-two:
image: ms-two:feature-local_development_env
environment:
NODE_ENV: 'development'
NPM_TOKEN: 'SECRET'
ports:
- "3014:3000"
depends_on:
- redis-cluster
networks:
default:
是否有任何其他您知道的命令行 yaml linter 不会将多个“depends_on”计为错误?
解决方案
我找到了答案,并认为我会与到达这里的人分享。
所以解决方法是通过创建特定的 yamllint 配置文件来覆盖 yamllint 的默认配置。
就我而言,该文件如下所示:
extends: default
rules:
key-duplicates: disable
然后,我像这样运行命令:
yamllint -d config_file docker-compose.yml
更多选项可以在yamlint 的官方文档页面中找到,
推荐阅读
- python - Python:生成遵循趋势线的随机数
- c# - IIS 7.5 上的 ServerManager.GetAdministrationConfiguration 为空
- mongodb - 如何使用 mongo 连接器导入指定的集合数据
- ios - Swift 中有 PrettyTime 函数吗
- javascript - 基于从asp.net mvc中的db绑定的下拉列表选择自动填充文本框
- php - Laravel Mail 未将公共变量传递给查看
- python - numpy.core.multiarray 在通过 xcode 中开发的 C++ 应用程序调用 python 模块时导入失败
- reactjs - 如何将现有的 CRA 应用程序发布到 npm(any) 存储库?
- java - 打印通用类列表
- c# - 使用命令在 .NET 项目中添加外部 DLL 文件作为“参考”