Bitbucket Pipeline YAML для ошибки синтаксиса сценария цикла - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь использовать интерфейс командной строки AWS для аннулирования моего дистрибутива CloudFront. Он состоит из двух команд: одна для создания аннулирования, а затем другая, чтобы дождаться ее завершения.

Для этого мне нужно захватить идентификатор недействительности, который AWS отправляет мне обратно, и передать его второй команде. После долгих поисков я остановился на приведенном ниже сценарии. Хотя это и не красиво, оно служит своей цели.

pipelines:
  branches:
    Stage/development:
        - step:
            name: Invalidate
            image: cgswong/aws:aws
            script:
              - for /f usebackq %F in (`aws cloudfront create-invalidation --distribution-id "##############" --paths /* --query "Invalidation.Id"`) do aws cloudfront wait invalidation-completed --distribution-id "##############" --id %F

Команда, которую я написал, отлично работает на моем компьютере (Windows 10), но когда она запускается как часть конвейера, я получаю следующую ошибку:

Баш: /opt/atlassian/pipelines/agent/tmp/bashScript6992979577238911185.sh: строка 5: синтаксическая ошибка рядом с неожиданным токеном `usebackq '

Я пытался поместить usebackq в кавычки, но это не помогло - та же ошибка.

Может ли кто-нибудь помочь с этим, пожалуйста, или предложить другое решение?

...