17 lines
1.2 KiB
JSON
17 lines
1.2 KiB
JSON
[
|
|
{
|
|
"level": "critical",
|
|
"role": "Zara",
|
|
"location": "entrypoint.sh",
|
|
"suggestion": "舊版程式碼中的 `zip -r \"$(basename \"$PWD\").$RELEASE_VERSION.zip\" $RELEASE_FOLDER/*` 命令,在 `$RELEASE_FOLDER` 包含大量檔案或子目錄時,可能因 shell 的參數列表過長限制 (ARG_MAX) 而導致指令失敗。新版程式碼透過 `(cd \"$RELEASE_FOLDER\"; zip -qr \"$archive_path\" .)` 的方式,在子 shell 中切換目錄並壓縮當前目錄 (`.`),有效避免了此參數限制問題,顯著提升了壓縮操作的穩定性與對大型資料集的處理能力。此關鍵效能與穩定性問題已獲得良好解決。",
|
|
"is_new": true
|
|
},
|
|
{
|
|
"level": "warning",
|
|
"role": "Zara",
|
|
"location": "entrypoint.sh:44",
|
|
"suggestion": "`file_count=\"$(find \"$RELEASE_FOLDER\" -type f | wc -l | tr -d ' ')\"` 這行程式碼在執行壓縮前會完整遍歷一次 `$RELEASE_FOLDER` 以計算檔案數量。對於包含極大量檔案的目錄,這會增加額外的 I/O 操作和處理時間。如果檔案數量資訊並非每次執行都絕對必要,或可接受在壓縮完成後再計算,則可考慮移除此步驟以減少預處理開銷,進一步提升效率。",
|
|
"is_new": true
|
|
}
|
|
]
|