具有嵌套引号的Cloudbuild.yaml命令

时间:2017-10-19 01:41:07

标签: google-cloud-platform gcloud

我正在尝试运行http://blog.wrouesnel.com/articles/Totally%20static%20Go%20builds/上的以下命令:

CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' .

两个引号内层正在绊倒我。如何在cloudbuild.yaml文件中处理此问题?

转义报价似乎无效:

steps:
- name: 'gcr.io/cloud-builders/go'
  args: ['build', '-o', 'main', '-ldflags', "'-extldflags \"-static\"'", '.']
  env:
  - 'GOOS=linux'

1 个答案:

答案 0 :(得分:1)

好吧,在'引用字符串中引用',根据YAML规范使用''

http://yaml.org/spec/current.html#id2534365

e.g。 'here''s to a toast!'

对于上述算法,它将是:

['build', '-o', 'main', '-ldflags', '''-extldflags "-static"''', '.']

该命令是否在Cloud Builder中有效超出了本问题的范围。

<强>更新

不需要这样的报价。请参阅Github中的评论:https://github.com/GoogleCloudPlatform/cloud-builders/issues/146#issuecomment-337890587