如何抹平Yaml并忽略多个“ depends_on”?

问题描述 投票:0回答:1

我编写了一个脚本,该脚本使用docker-compose.yml文件创建本地开发环境。

[在运行脚本时,我想使用yaml linter命令来验证文件是有效的yaml,然后再启动环境,而我正在使用命令yamllint。

在此docker-compose.yml文件中,有多个服务“ depeneds_on”另一服务,但当我运行yamllint时,它返回以下错误:

47:5      error    duplication of key "depends_on" in mapping  (key-duplicates)

这不是真正的错误,但是由于皮棉是脚本运行的一部分,所以我不能指望它的退出代码,因为它实际上将此错误视为错误,而实际上并非如此。

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”视为错误?

yaml lint
1个回答
0
投票

我找到了答案,并认为可以与任何来这里的人分享。

因此解决方案是通过创建特定的yamllint配置文件来覆盖yamllint的默认配置。

就我而言,该文件如下所示:

extends: default

rules:
  key-duplicates: disable

然后,我像这样运行命令:

yamllint -d config_file docker-compose.yml

可以在yamllint's official documentation page中找到更多选项,

© www.soinside.com 2019 - 2024. All rights reserved.