Как выровнять yaml и игнорировать множественные «depen_on»? - PullRequest
0 голосов
/ 02 октября 2019

Я написал сценарий, который создает локальную среду разработки с использованием файла docker-compose.yml.

При запуске сценария я хочу использовать команду yaml linter для проверки того, что файл является допустимым yamlперед тем как поднять среду и сделать это, я использую команду yamllint.

В этом файле 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 из командной строки, которая не будет учитывать более одного "зависит_он "как ошибка?

1 Ответ

0 голосов
/ 02 октября 2019

Я нашел свой ответ и подумал, что поделюсь им с кем бы то ни было.

Таким образом, решение состоит в том, чтобы переопределить конфигурацию по умолчанию yamllint, создав специальный файл конфигурации yamllint.

В моемВ этом случае файл выглядит так:

extends: default

rules:
  key-duplicates: disable

Затем я запускаю команду примерно так:

yamllint -d config_file docker-compose.yml

Дополнительные параметры можно найти на официальной странице документации yamllint.

...