我通過 Firebase 控制臺注意到我的 gcf-sources 存盤桶(每個云功能區域一個)占用了大量存盤空間。(大約 2GB,當我的函式檔案夾只有 47Mb 時)。
在挖掘其中一個存盤桶后,我發現部署的每個函式都有 2 個檔案夾(大概是最新的和最新的 -1 版本)。在這些檔案夾中是一個 .zip 檔案,其中包含整個 firebase 函式檔案夾。所有腳本檔案,完整的 node_modules 檔案夾等。



可以想象,這加起來非常快,2GB 是可以理解的。
我的問題是:
- 為什么每個函式都需要一個包含整個函式目錄的 zip 檔案?
- 我可以安全地洗掉所有這些嗎?
- 我怎樣才能防止這種情況在未來發生?
對于更多的背景關系,我已經完成了全部和部分功能部署,但無論哪種方式似乎都有相同的結果。
注意 - 在按照上一個問題清理我的人工制品檔案夾后,我遇到了這個問題:如何從 GC 存盤中洗掉過時的 Firebase 云功能容器?
uj5u.com熱心網友回復:
要了解原因,您需要了解流程。您的代碼會上傳到 Cloud Storage,并會根據您的代碼構建一個容器(通過 Cloud Build 和 Buildpack)。每個 Cloud Functions 版本都是獨立且不可變的,因此沒有代碼共享,每次部署一個函式時,您都會在該函式和容器內部署整個代碼。
你能洗掉那些目錄嗎?是的你可以。部署后,桶上的源檔案就沒用了。如果需要,您可以在存盤桶上設定生命周期并洗掉早于 1 天的檔案。像這樣你保持你的目錄干凈。
小心,我只談論 gcf 源存盤桶!因為容器存盤在工件注冊表中,如果您洗掉存盤桶注冊表,您現在可以再獲取您的容器(和您的代碼)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/409510.html
標籤:
上一篇:如何在Android中打破每個?
