我正在使用
CI Lint tester试图找出如何存储预期的JSON结果,我后来将其与curl响应进行比较.这些都不起作用:
尝试1
--- image: ruby:2.1 script: - EXPECT_SERVER_OUTPUT='{"message": "Hello World"}'
失败:
did not find expected key while parsing a block mapping at line 4 column 5
尝试2
--- image: ruby:2.1 script: - EXPECT_SERVER_OUTPUT="{\"message\": \"Hello World\"}"
失败:
jobs:script config should be a hash
我也尝试过使用各种回声组合,没有可行的解决方案.
解决方法
您可以使用折叠块标量1样式表示法将定义放在单独的行上,而不必担心引用:
myjob: image: ruby:2.1 script: - > EXPECT_SERVER_OUTPUT='{"message": "Hello World"}'
或者你可以转义嵌套的双引号:
script: - "EXPECT_SERVER_OUTPUT='{\"message\": \"Hello World\"}'"
但你可能也想使用variables
像:
my_job: variables: EXPECT_SERVER_OUTPUT: '{"message": "Hello World"}' image: ruby:2.1 script: - dothething.sh
1有关此说明及相关表示法,请参阅this answer