IBM Cloud Docs
超过临时存储器限制时,构建失败

超过临时存储器限制时,构建失败

创建并运行构建后,构建未成功完成,并且您接收到一条消息,指示临时存储器使用率超过限制。

如果接收到超过临时存储器限制的消息,那么您的构建大小太小。

当构建运行时,它需要装入源代码。 使用 Docker 构建时,需要下载基本映像,并且需要执行构建目标映像所需的步骤。 构建运行需要这些步骤的磁盘空间,这些步骤将在构建运行完成后发布。 此磁盘空间称为 临时 本地存储器。 根据您为构建选择的是 smallmediumlargexlarge 还是 xxlarge 大小,可供构建运行使用的最大临时存储量。 有关构建大小的更多信息,请参阅 确定构建大小。 达到最大临时存储器时,将停止构建运行并显示错误消息; 例如,

示例错误消息

Summary: Failed to run build due to exceeded ephemeral storage
Reason:  Pod ephemeral local storage usage exceeds the total limit of containers <AMOUNT>.
Summary: Failed to run build due to exceeded ephemeral storage
Reason:  Container <STEP_NAME> exceeded its local ephemeral storage limit <AMOUNT>.

尝试其中一个解决方案。

无论您是在控制台还是 CLI 中运行构建,请使用 CLI 对构建问题进行故障诊断。

  1. 运行 ibmcloud ce buildrun get --name BUILDRUN_NAME 命令以显示构建运行的详细信息。
  2. 查看命令输出中的 Reason

要解决此问题,请使用更大的构建大小。

更大的构建大小还意味着将更多内存和 CPU 核心分配给构建运行。 增大此大小可能会加快构建运行速度,但也会增加其成本。

有关构建大小的更多信息,请参阅 确定构建大小

  1. 使用 ibmcloud ce build update 命令更新构建配置以使用更大的大小; 例如,

    ibmcloud ce build update --name <BUILD_NAME> --size <SIZE>
    
  2. 使用 ibmcloud ce buildrun submit 命令来提交新的构建运行。 对于 buildrun submit 命令,必须指定 --build 选项以提供构建配置的名称。 您可以选择指定 --name 选项以提供此构建运行的名称。 如果指定 --name 选项,请确保使用与失败的构建运行不同的构建运行名称,或者确保使用 ibmcloud ce buildrun delete 命令删除失败的构建运行。 例如

    ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>