15:39 Bob: 今天又連不上 Jenkins 機器,重開機之後,我發現裡面可用容量剩不到 1G 了
15:39 Alice: 可是裡面沒裝什麼東西啊,垃圾筒是不是沒清空啊
15:39 Bob: 垃圾筒沒有東西啊
容量不足第一個想法可能會想到說那就來加大機器容量吧,可以暫時解決問題,但造成容量不足是什麼原因呢?
回到 Jenkins 本身,在針對分支或是 Job 的時候,每一次的建置會有暫存的資料㚒,雖然佔比容量不多,但累積一個數字之後也會造成一定程度的容量。
再來還有一個是觀察目前裝置上哪一個副檔名的檔案佔比最多,或是哪些檔案容量太大了。
### 此為找出檔案容量介於 50MB ~ 100MB 的指令
find . -size +50M -size -100M
指令是一種方式,當然還有其他的做法,不外乎就是找出哪些檔案們造成狀況。既然會一直產生檔案是必然發生的,那就檢查哪些副檔名,或是哪些路徑底下 的容量佔比特別高,找出共同規則之後就可以做定期刪除檔案的動作了。
以 Android 專案來說常見要封存的檔案,或是要發版最重要的檔案有兩種:分別是 AAB 和 APK。若發版頻率很高,再加上 CI 建置之後,檔案數會相當之多。建立個專門刪除檔案的 Job 也不為是一種方式,定期清理讓 Jenkins 裝置的容量可以不會如此緊繃。
來個小小的重點整理,有兩點: