Deployment Manager update error: Deployment in preview must not have a target with UPDATE
Deployment Manager update error: Deployment in preview must not have a target with UPDATE
每次我尝试 运行 通过 Deployment Manager 更新到预览中的现有部署时,我都会收到错误消息:
$ gcloud deployment-manager deployments update abc --config abc.yaml
ERROR: (gcloud.deployment-manager.deployments.update) ResponseError: code=400, message=Invalid value for field 'resource.target': ''. Deployment in preview must not have a target with UPDATE
但是,如果我不在 gcloud 命令行上使用更新并转到控制台并单击 'deploy',则更新会正常进行。
这可能是什么原因造成的?
这是我们这边的问题。我们目前正在修复;我目前无法提供修复的预计到达时间。我强烈建议继续使用您通过控制台部署找到的解决方法。
取消预览然后再次运行部署更新。
gcloud deployment-manager deployments cancel-preview DEPLOYMENT
对我来说,问题是我调用更新 API 以使用我在第一次创建预览时传递的完整 body
参数来应用预览。
解决方法是在预览应用调用的 body
参数中仅传递 fingerprint
和 name
属性。
project_name = '...'
deployment_name = '...'
existing_deployment = service.deployments().get(
project=project_name,
deployment=deployment_name).execute()
service.deployments().update(
project=project_name,
deployment=deployment_name,
body={
'name': deployment_name,
'fingerprint': existing_deployment["fingerprint"],
},
preview=False).execute()
刚 运行 进入这个,我没有正确地按照说明进行操作。在预览中创建内容后,您无需再次传递配置,只需应用即可。
创建预览
gcloud deployment-manager deployments update my-deployment --config my-config.yaml --preview
运行部署
gcloud deployment-manager deployments update my-deployment
每次我尝试 运行 通过 Deployment Manager 更新到预览中的现有部署时,我都会收到错误消息:
$ gcloud deployment-manager deployments update abc --config abc.yaml
ERROR: (gcloud.deployment-manager.deployments.update) ResponseError: code=400, message=Invalid value for field 'resource.target': ''. Deployment in preview must not have a target with UPDATE
但是,如果我不在 gcloud 命令行上使用更新并转到控制台并单击 'deploy',则更新会正常进行。
这可能是什么原因造成的?
这是我们这边的问题。我们目前正在修复;我目前无法提供修复的预计到达时间。我强烈建议继续使用您通过控制台部署找到的解决方法。
取消预览然后再次运行部署更新。
gcloud deployment-manager deployments cancel-preview DEPLOYMENT
对我来说,问题是我调用更新 API 以使用我在第一次创建预览时传递的完整 body
参数来应用预览。
解决方法是在预览应用调用的 body
参数中仅传递 fingerprint
和 name
属性。
project_name = '...'
deployment_name = '...'
existing_deployment = service.deployments().get(
project=project_name,
deployment=deployment_name).execute()
service.deployments().update(
project=project_name,
deployment=deployment_name,
body={
'name': deployment_name,
'fingerprint': existing_deployment["fingerprint"],
},
preview=False).execute()
刚 运行 进入这个,我没有正确地按照说明进行操作。在预览中创建内容后,您无需再次传递配置,只需应用即可。
创建预览
gcloud deployment-manager deployments update my-deployment --config my-config.yaml --preview
运行部署
gcloud deployment-manager deployments update my-deployment