BitBucket 管道 YAML 语法问题
Issue with BitBucket pipeline YAML syntax
我创建了一个 bitbucket-pipelines.yml 文件来测试可以在远程 AWS 实例上 运行 的 powershell 脚本。
image: python:3.5.1
pipelines:
custom:
default:
- step:
caches:
- pip
script:
- pip install awscli
- aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-xxxxx" --parameters '{"sourceType":["S3"],"sourceInfo":["{\"path\": \"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1\"}"],"executionTimeout":["3600"]}' --timeout-seconds 600 --region us-east-2
当我尝试 运行 时,我在最后一行收到以下错误消息:
您的 bitbucket-pipelines.yml 文件中的 'script' 部分必须是字符串列表
我用其他在线 YAML 验证器检查了语法,它显示正常。不确定为什么 BitBucket 有问题。有什么指点吗?
列表中的第二项包含一个冒号,后跟一个 space,这使其成为 YAML 中的映射。
在这种情况下,您需要引用它。但是,您已经使用了单引号和双引号并且希望避免添加更多反斜杠。
我更喜欢对较长的字符串使用块标量:
script:
- pip install awscli
- >-
aws ssm send-command
--document-name "AWS-RunRemoteScript"
--instance-ids "i-xxxxx"
--parameters '{"sourceType":["S3"],"sourceInfo":["{\"path\":
\"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1\"}"],
"executionTimeout":["3600"]}'
--timeout-seconds 600 --region us-east-2
这是一个所谓的折叠块标量,意味着它的所有行将与 spaces 折叠在一起。
我可以推荐我关于在 YAML 中引用字符串的文章吗,其中详细解释了所有这些内容? http://blogs.perl.org/users/tinita/2018/03/strings-in-yaml---to-quote-or-not-to-quote.html
我创建了一个 bitbucket-pipelines.yml 文件来测试可以在远程 AWS 实例上 运行 的 powershell 脚本。
image: python:3.5.1
pipelines:
custom:
default:
- step:
caches:
- pip
script:
- pip install awscli
- aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-xxxxx" --parameters '{"sourceType":["S3"],"sourceInfo":["{\"path\": \"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1\"}"],"executionTimeout":["3600"]}' --timeout-seconds 600 --region us-east-2
当我尝试 运行 时,我在最后一行收到以下错误消息:
您的 bitbucket-pipelines.yml 文件中的 'script' 部分必须是字符串列表
我用其他在线 YAML 验证器检查了语法,它显示正常。不确定为什么 BitBucket 有问题。有什么指点吗?
列表中的第二项包含一个冒号,后跟一个 space,这使其成为 YAML 中的映射。
在这种情况下,您需要引用它。但是,您已经使用了单引号和双引号并且希望避免添加更多反斜杠。
我更喜欢对较长的字符串使用块标量:
script:
- pip install awscli
- >-
aws ssm send-command
--document-name "AWS-RunRemoteScript"
--instance-ids "i-xxxxx"
--parameters '{"sourceType":["S3"],"sourceInfo":["{\"path\":
\"https://s3.us-east-2.amazonaws.com/my-bucket-name/test.ps1\"}"],
"executionTimeout":["3600"]}'
--timeout-seconds 600 --region us-east-2
这是一个所谓的折叠块标量,意味着它的所有行将与 spaces 折叠在一起。
我可以推荐我关于在 YAML 中引用字符串的文章吗,其中详细解释了所有这些内容? http://blogs.perl.org/users/tinita/2018/03/strings-in-yaml---to-quote-or-not-to-quote.html