超出暫時儲存體限制時建置失敗

建立並執行建置之後,您的建置未順利完成,且您收到一則訊息,指出暫時儲存體用量超出限制。

如果您收到訊息指出已超出暫時儲存體限制,則您的建置大小太小。

當建置執行時,它需要載入原始碼。 當您使用 Docker 建置時,需要下載基本映像檔,且需要執行建置目標映像檔的必要步驟。 建置執行需要這些步驟的磁碟空間,在建置執行完成之後即會釋放。 此磁碟空間稱為 暫時 本端儲存體。 視您選擇建置的 smallmediumlargexlargexxlarge 大小而定,建置執行可以使用的暫時儲存體數量上限。 如需建置大小的相關資訊,請參閱 判定建置的大小。 當達到暫時儲存體上限時,會停止建置執行,並顯示錯誤訊息; 例如:

錯誤訊息範例

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>