yaml - 序列条目位桶管道的错误缩进

标签 yaml bitbucket-pipelines

我目前在 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

验证失败并出现错误:

Bad indentation of a sequence entry bitbucket pipelines

将语句拆分为多行也不起作用。这里的正确方法是什么?

最佳答案

问题是冒号后跟一个空格,这导致 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 数量,您在修改它时可能会再次遇到同样的问题。所以脚本文件可能是这里更简单的选择。

关于yaml - 序列条目位桶管道的错误缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50259571/

相关文章:

yaml - 经过验证的 cloudformation yaml 模板

r - Rmarkdown 文档的字体

linux - ejabberdctl 启动导致 p1_yaml 错误

python - Bitbucket 管道在测试文件夹 : FileNotFoundError: [Errno 2] 中找不到文件

git - 如何使用ajoberstar/reckon和Bitbucket Pipelines配置自动语义版本控制?

kubernetes - 集群上的事件与 kustomize 之间的区别

yaml - 资源 SecretsManager 的资源属性 MySecretA 无效,如何在 yml 中创建多个 secret ?

continuous-integration - 在 Bitbucket 管道中运行 Cypress 无法查找 chrome

位桶管道中的 ANDROID_HOME

docker - Bitbucket管道,我如何访问另一个容器?