超出暫時儲存體限制時建置失敗
建立並執行建置之後,您的建置未順利完成,且您收到一則訊息,指出暫時儲存體用量超出限制。
如果您收到訊息指出已超出暫時儲存體限制,則您的建置大小太小。
當建置執行時,它需要載入原始碼。 當您使用 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>