超过临时存储器限制时,构建失败
创建并运行构建后,构建未成功完成,并且您接收到一条消息,指示临时存储器使用率超过限制。
如果接收到超过临时存储器限制的消息,那么您的构建大小太小。
当构建运行时,它需要装入源代码。 使用 Docker 构建时,需要下载基本映像,并且需要执行构建目标映像所需的步骤。 构建运行需要这些步骤的磁盘空间,这些步骤将在构建运行完成后发布。 此磁盘空间称为 临时 本地存储器。 根据您为构建选择的是 small
,medium
,large
,xlarge
还是 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 对构建问题进行故障诊断。
- 运行
ibmcloud ce buildrun get --name BUILDRUN_NAME
命令以显示构建运行的详细信息。 - 查看命令输出中的
Reason
。
要解决此问题,请使用更大的构建大小。
更大的构建大小还意味着将更多内存和 CPU 核心分配给构建运行。 增大此大小可能会加快构建运行速度,但也会增加其成本。
有关构建大小的更多信息,请参阅 确定构建大小。
-
使用
ibmcloud ce build update
命令更新构建配置以使用更大的大小; 例如,ibmcloud ce build update --name <BUILD_NAME> --size <SIZE>
-
使用
ibmcloud ce buildrun submit
命令来提交新的构建运行。 对于buildrun submit
命令,必须指定--build
选项以提供构建配置的名称。 您可以选择指定--name
选项以提供此构建运行的名称。 如果指定--name
选项,请确保使用与失败的构建运行不同的构建运行名称,或者确保使用ibmcloud ce buildrun delete
命令删除失败的构建运行。 例如ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>