我正在使用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\"}"
失败:
作业:脚本配置应该是哈希
我也试过使用echo
的各种组合,没有可行的解决方案。
答案 0 :(得分:10)
您可以使用折叠块标量 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
答案 1 :(得分:1)
我使它像这样工作:
script: |
"EXPECT_SERVER_OUTPUT='{\"message\": \"Hello World\"}'"
echo $EXPECT_SERVER_OUTPUT