部署应用时报错not enough instances to batch怎么办?

本文介绍使用SAE时,如何处理分批发布时实例不足的报错信息。

问题现象

通过Maven插件部署应用时,在toolkit_package.yaml中已配置分批部署batchUpdate相关的参数,并采用Jenkins构建。报错信息如下。
Your updateStrategy.batchUpdate.batch is missing: not enough instances to batch.

更多信息,请参见通过Maven插件自动部署应用

可能原因

分批数大于当前实例数。例如,某应用当前实例数为2个,采用分批部署,以下示例将分批数设置为3次,此时分批数3大于当前实例数2,导致部署失败。

updateStrategy: 
  type: GrayBatchUpdate   # 部署类型,BatchUpdate表示分批部署,GrayBatchUpdate表示灰度部署。
  batchUpdate: 
    batch: 3              # 分批数,如果是灰度部署,表示灰度批次后的分批数。
    releaseType: manual   # 分批类型。manual表示手动分批,auto表示自动分批。
    batchWaitTime: 0      # 分批类型为auto时使用,表示分批间间隔时间,单位为分钟。

解决方案

部署时需要保证分批数小于等于当前实例数。

请先确认当前实例数,且数量必须大于等于1,否则无法采用分批部署。然后适当减少分批数或调大实例数后再发布。更多信息,请参见分批发布应用手动扩缩