我正在使用CI Lint tester来尝试找出如何存储预期的JSON结果,我后来将其与curl
响应进行比较。这些都不起作用:
尝试1
---
image: ruby:2.1
script:
- EXPECT_SERVER_OUTPUT='{"message": "Hello World"}'
失败:
在第4行第5列解析块映射时没有找到预期的键
尝试2
---
image: ruby:2.1
script:
- EXPECT_SERVER_OUTPUT="{\"message\": \"Hello World\"}"
失败:
jobs:脚本配置应该是哈希
我也尝试过使用echo
的各种组合,没有可行的解决方案。
您可以使用折叠块标量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以获得对此及相关符号的解释
我让它像这样工作:
script: |
"EXPECT_SERVER_OUTPUT='{\"message\": \"Hello World\"}'"
echo $EXPECT_SERVER_OUTPUT