我正在尝试运行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'
答案 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