在YAML文件中传递json字符串命令arg

在YAML文件中传递json字符串命令arg,json,yaml,google-container-registry,google-kubernetes-engine,build-triggers,Json,Yaml,Google Container Registry,Google Kubernetes Engine,Build Triggers,我正试图运行一个命令来更改kubernetes cronjob图像的值,如下所述。 但我并没有将这个命令输入cmd,而是尝试通过容器注册表的build触发器运行它 我尝试了“和\作为逃逸角色” steps: - name: 'gcr.io/cloud-builders/kubectl' args: [ "patch", "cronjob", "cron-history-orders", "--type=json",

我正试图运行一个命令来更改kubernetes cronjob图像的值,如下所述。 但我并没有将这个命令输入cmd,而是尝试通过容器注册表的build触发器运行它

我尝试了“和\作为逃逸角色”

  steps:
     - name: 'gcr.io/cloud-builders/kubectl'
      args: [
      "patch",
       "cronjob",
       "cron-history-orders",
       "--type=json",
      "-p=[{'"op'":'"replace'",'"path'":'"/spec/jobTemplate/spec/template/spec/containers/0/image'",'"value'":'"python:3.5'"}]"
       ]
      env:  ['CLOUDSDK_COMPUTE_ZONE=europe-west3-c','CLOUDSDK_CONTAINER_CLUSTER=xxx-prod']
或者当我尝试的时候

   "-p='[{\"op\":\"replace\", \"path\": \"/spec/jobTemplate/spec/template/spec/containers/0/image\", \"value\":\"python:3.5\"}]'"

  "-p='[{'op':'replace','path':'/spec/jobTemplate/spec/template/spec/containers/0/image','value':'python:3.5'}]'"

加载模板时出现
错误:json:无法将对象解组为[]json类型的Go值。RawMessage

正如您无疑意识到的那样,这里的挑战是您正在处理转义层——您的yaml包含将在命令行上传递的json

我可以通过这个yaml传递这个命令:

steps:
- name: 'gcr.io/cloud-builders/kubectl'
  args: [ "patch", "cronjob", "cron-history-orders", "--type=json", "-p='[{\"op\":\"replace\", \"path\": \"/spec/jobTemplate/spec/template/spec/containers/0/image\", \"value\":\"python:3.5\"}]'" ]
  env:  ['CLOUDSDK_COMPUTE_ZONE=europe-west3-c','CLOUDSDK_CONTAINER_CLUSTER=xxx-prod']

您所指的链接是关于使用新生成的映像更新部署的,但是容器注册表生成触发器用于生成新映像。如果你能提供更多关于你想做什么的信息,这将有助于提出一些解决方案。