我编写了一个脚本,该脚本使用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”视为错误?
答案 0 :(得分:0)
我找到了答案,并想与任何来这里的人分享。
因此,解决方案是通过创建特定的yamllint配置文件来覆盖yamllint的默认配置。
就我而言,该文件如下所示:
extends: default
rules:
key-duplicates: disable
然后,我像这样运行命令:
yamllint -d config_file docker-compose.yml
更多选项可以在yamllint's official documentation page中找到