我正在使用 CI Lint tester 尝试找出如何存储预期的 JSON 结果,稍后我将其与 curl
响应进行比较。这些都不起作用:
尝试 1
---
image: ruby:2.1
script:
- EXPECT_SERVER_OUTPUT='{"message": "Hello World"}'
失败:
尝试 2
---
image: ruby:2.1
script:
- EXPECT_SERVER_OUTPUT="{\"message\": \"Hello World\"}"
失败:
我也尝试过使用
echo
的各种组合,但没有可行的解决方案。 最佳答案
您可以使用折叠块 scalar1 样式符号将定义放在单独的行上,而不必担心引用:
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 以获取对此和相关符号的解释
关于bash - 无法在 GitLab CI YAML 中打印包含双引号的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41796197/