Bitbucket管道YAML的循环脚本语法错误

时间:2019-06-04 15:15:52

标签: command-line continuous-integration yaml bitbucket pipeline

我正在尝试使用AWS CLI使我的CloudFront分发无效。这由两个命令组成,一个命令创建失效,然后一个等待失效完成。

为此,我需要捕获AWS发送给我的失效ID,并将其传递给第二个命令。经过大量的Google搜索后,我决定使用以下脚本。虽然不漂亮,但它确实达到了目的。

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放在引号中,但这无济于事-同样的错误。

请有人帮忙还是提供其他解决方案?

0 个答案:

没有答案