Плохой отступ для конвейеров битбакетов ввода последовательности - PullRequest
0 голосов
/ 09 мая 2018

В настоящее время у меня есть шаг в конвейерах bitbucket, который делает некоторые вещи. Последний шаг - запустить задачу aws ecs, например:

  - step:
      name: Migrate database
      script:
        - curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
        - apt-get update
        - apt-get install -y unzip python
        - unzip awscli-bundle.zip
        - ./awscli-bundle/install -b ~/bin/aws
        - export PATH=~/bin:$PATH
        - aws ecs run-task --cluster test-cluster --task-definition test-task --overrides '{ "containerOverrides": [ { "name": "test-container", "command": [ "echo", "hello world" ], "environment": [ { "name": "APP_ENV", "value": "local" } ] } ] }' --network-configuration '{ "awsvpcConfiguration": { "subnets": ["subnet-xxxxxxx"], "securityGroups": ["sg-xxxxxxx"], "assignPublicIp": "ENABLED" }}' --launch-type FARGATE

Это не проходит проверку с ошибкой:

Неверный отступ для конвейеров битового сегмента записи последовательности

Разделение оператора на несколько строк также не работает. Каков будет правильный подход здесь?

1 Ответ

0 голосов
/ 10 августа 2018

Проблема в том, что у вас двоеточие, за которым следует пробел, что заставляет синтаксический анализатор YAML интерпретировать это как карту, а не строку.

Самое простое решение - переехать

aws ecs run-task --cluster test-cluster --task-definition test-task --overrides '{ "containerOverrides": [ { "name": "test-container", "command": [ "echo", "hello world" ], "environment": [ { "name": "APP_ENV", "value": "local" } ] } ] }' --network-configuration '{ "awsvpcConfiguration": { "subnets": ["subnet-xxxxxxx"], "securityGroups": ["sg-xxxxxxx"], "assignPublicIp": "ENABLED" }}' --launch-type FARGATE

В файл сценария и вызов его из конвейера.

Вы также можете удалить все пробелы после любых символов ':'. Но учитывая количество JSON, вы, скорее всего, столкнетесь с той же проблемой снова при ее изменении. Таким образом, файл сценария, вероятно, является более простым вариантом.

...