企業 Mac CI 建置產物保留多久?2026 策略指南

這篇指南協助企業 iOS 團隊決定哪些建置產物需要長期留存,哪些可以在確認可重建後清理。內容涵蓋 archive、dSYM、報告、日誌與快取的風險差異,並提供責任分工表和復原驗收清單。

企業 Mac CI 建置產物保留多久?2026 策略指南

目錄

本週先檢查期限設定,不要套用單一清理規則

官方 CI 文件列出,日誌與建置產物的留存期限可在組織層級設定,也可針對個別產物設定;這代表期限控制至少涉及兩種設定層級,而不是只有一個全域開關。組織層級的期限設定說明與單項 workflow artifact 的留存說明都指出,具體行為依平台設定而異。

因此,企業 Mac CI 建置產物保留策略不應把所有檔案套用同一期限:已發布版本的 Xcode archive 和匹配 dSYM,應依崩潰診斷及審計需求保存;日誌、測試報告、快取和暫存工作區則按用途分別管理,並把重要發布資料移出可清理的 CI 工作區。

負責 iOS 發布與崩潰診斷的工程負責人,可據此訂出 archive 和 dSYM 的留存規則。
管理 Mac Runner 儲存空間、快取與日誌的平台工程師,可用本文區分必須保存和可清理的資料。
負責發布審計及資料生命週期的 IT、安全或合規人員,可將規則轉成可查核的責任與證據。

留存失效時,診斷和發布證據會一起斷鏈

把建置目錄視為同一批檔案來清理,最容易造成兩類後果:一是已發布版本發生崩潰時,找不到能符號化的檔案;二是發布檢查需要證明交付了什麼,卻只剩下一段無法連回該版本的工作紀錄。相同的原始碼,不代表不同時間、不同設定產出的建置檔案可以互相替代。

dSYM 說明文件指出,建置調試資訊與 archive 的保存,和日後檢查發布版本有關;崩潰報告符號名稱說明則說明如何利用符號資訊協助讀取崩潰報告。換言之,保留一份來源程式碼,不足以取代與已交付版本相符的符號檔。

產物類型 主要用途 清理前要確認的條件 建議責任角色
已發布版本的 Xcode archive 回查發布封裝與版本內容 是否能依版本及建置識別資訊找回,是否有獨立保存副本 iOS 發布負責人
匹配的 dSYM 對應崩潰報告進行符號化 UUID 等識別資訊是否與該次建置相符,復原後能否讀取 iOS 工程負責人
交付二進位檔及發布紀錄 核對實際交付版本與流程 是否能關聯到版本、建置及交付結果 發布或審計負責人
測試報告與建置日誌 回查測試結果、診斷失敗 保存期限是否符合團隊追查與審核需要 CI 平台負責人
依賴快取 減少重複下載或建置工作 清除後能否重新取得或重建,來源是否仍可用 CI 平台負責人
暫存工作區 執行中的中間檔案及暫存內容 是否已確認沒有唯一發布證據或未交接資料 Mac Runner 管理人

留存期限應由恢復、診斷、審計及重建需求決定,而不是用檔案所在目錄來推斷。若 archive 與 dSYM 暫時只能放在 Runner 的工作目錄,清理作業就有機會把發布證據和可重建檔案一併刪除;如果檔案留在單一主機,主機故障也可能讓復原路徑中斷。

產物配對與存放位置決定能否復原

對每個已發布版本,你要建立可由檔案反查建置的關聯,而非只按日期或專案名稱命名資料夾。至少要能從版本資訊或建置識別碼,找到相應的 archive、dSYM、交付檔及必要發布紀錄;復原後還要檢查它們彼此對應,而不是只確認檔案「存在」。

應用程式發布與建立 archive 的官方文件說明 archive 位於發佈流程之中。團隊應將它與匹配的 dSYM、匯出檔及必要紀錄視為同一發布證據組,並明確記下保存位置、存取權限、刪除責任人和復原方法。你不必預設採用特定儲存系統,但不應讓這些資料只存在於單一 Mac 的臨時目錄。

保存位置類別 優點 主要風險 應核對的控制
CI 工作區或暫存目錄 建置流程直接產生,短期取用方便 清理工作區時可能連帶移除證據;主機故障時不易取回 排除長期保存檔案,確認交接完成後才允許清理
團隊管理的獨立儲存位置 可與 Runner 工作生命週期分開管理 權限、命名或目錄規則不清時,仍可能找不到配對檔 限定讀寫與刪除權限,維護建置識別資訊及目錄規範
CI 平台提供的產物留存功能 可在流水線脈絡中取得產物及設定期限 期限可能受平台層級或單項設定影響,不一定符合企業留存需求 對照實際適用設定,驗證過期時間及到期後復原可能性

檔案分散於不同位置,也會增加交接失敗的機會。你需要明確指定誰負責確認 archive 和 dSYM 已保存、誰能刪除、遇到主機故障時由誰執行復原,以及審計時從哪裡取得證據。若團隊正在規劃長期使用 Mac 建置節點,可參考企業 Mac 基礎設施與節點規劃,把產物存放及交接責任納入整體設計。

日誌、報告與快取不能共用同一種期限

把日誌和測試報告過早刪除,會讓建置失敗及測試結果難以回查;反過來,無限期保留所有日誌,又可能增加無人管理的資料、擴大可存取範圍,並讓團隊無法分辨哪些紀錄仍有調查價值。企業要按用途、查閱需要及組織政策訂出期限,不能把某一 CI 平台的預設值當成通用標準。

快取則有不同的判斷基準。官方文件對依賴快取與工作流程產物的用途區別指出,快取是為了重用依賴資料,workflow artifact 則用於保存工作流程產生的檔案。這種用途差異意味著快取通常需要評估能否重建,發布證據則要確認是否仍需調用;兩者不應被同一條目錄清理規則一起處理。

資料 保存決策的核心問題 適合的到期或清理條件
測試報告 是否需要追溯測試結果或支援發布審核? 依測試用途、查核需求及組織資料政策設定
建置日誌 是否仍能協助調查失敗或確認發布過程? 依診斷需要、存取需求及平台實際設定設定
依賴快取 清除後能否從可用來源重新取得並成功建置? 確認重建路徑、最後使用情況及清理紀錄後再清
暫存工作區 是否含有未交接的唯一檔案或發布證據? 完成產物交接並確認不屬長期留存後才清理

平台文件也提醒你留意設定邊界:組織層級的日誌與產物期限和單項產物設定並非同一個設定位置。落地時應確認目前平台、儲存庫與單項產物各自採用的規則;不要因為管理介面顯示某個預設期限,就推定所有企業都適用該期限。

可勾選的清理與復原驗收

在調整清理工作之前,先把需要保留的發布證據與可重建資料分開。以下清單可用於 Mac Runner 試點、例行檢查或流程變更後的驗收:

這套檢查的評分重點不是「目錄裡還有多少檔案」,而是關鍵發布資料是否找得到、配得上、可復原。若任一項無法驗證,應先暫停清除相關目錄,再確認交接位置和責任人;不要用擴大保留全部工作區的方式掩蓋缺少復原流程的問題。

常見留存疑義

已發布版本的 Xcode archive 和 dSYM 要保存多久?

不要採用沒有依據的統一期限。先依團隊需要支援的發布版本、崩潰診斷與審計政策訂定規則,並確定 archive 和匹配 dSYM 的保存位置、負責人及復原方式。即使原始碼仍可取得,也要核對符號檔是否真正對應該次建置。

刪除 Xcode archive 後,還能用 dSYM 符號化崩潰嗎?

若手上仍有與該次建置相符的 dSYM,符號化仍可能可行;archive 與 dSYM 不能互相替代。刪除 archive 也代表相應發布封裝不再保留,因此你應先確認 dSYM 的建置識別資訊,並實際驗證崩潰分析流程可使用留存的符號檔。

Mac CI 的日誌、測試報告和快取該用同一個期限嗎?

不應直接共用。日誌用於診斷建置過程,測試報告用於回查結果,快取則通常可以在條件具備時重新建立。你要按用途、存取需求、查核政策及重建成本分別設條件,再檢查平台的組織層級與個別產物設定是否符合這些規則。

怎樣避免清理建置產物時誤刪發布審計證據?

把需長期保存的 archive、匹配 dSYM、交付檔與必要發布紀錄移出可定期清理的工作區,並為它們記錄位置、權限和責任人。清理前確認目錄用途及可重建性;再從獨立位置抽查復原,確保檔案能讀取、彼此配對,且有驗收紀錄可供查核。

現有做法若依賴單台 Mac 的工作目錄,通常會同時暴露於主機故障、工作區清理誤刪和交接紀錄不足等問題。若你需要臨時增加 CI 建置資源,可先檢查現有節點是否具備獨立留存位置及可驗證的復原流程,再評估VPSMAC 遠端 Mac是否適合作為團隊的彈性建置環境;長期固定重負載、依賴特定實體介面的工作,則應先比較自購設備及其他符合需求的方案。

常見問題

已上架的 iOS 版本,其 archive 和 dSYM 要保存多久?

沒有適用所有企業的固定期限。已發布版本的 Xcode archive 與相符 dSYM,應按照你需要支援的版本週期、崩潰診斷需求及審計政策保存;先確認責任人、存放位置與復原方式,再由組織政策訂出期限。不要只因原始碼仍在,就假設日後能重建完全相同的符號檔。

刪除 Xcode archive 後,仍可用 dSYM 符號化崩潰嗎?

若保有與該次建置完全相符的 dSYM,仍可能用它處理崩潰符號化;但 archive 和 dSYM 並非可互換的檔案。刪除 archive 會失去相應的發布封裝與查核材料,因此應按建置識別碼核對配對,並確認符號化流程可實際讀取留存檔案。

Mac CI 的日誌、測試報告與快取可以共用同一保留期限嗎?

不建議。測試報告用於追查結果,日誌用於診斷失敗,快取則通常是為了加快後續建置而保存、在符合條件時可以重建。你應分別訂出用途、存取權、到期條件及恢復方式;平台上的預設值或可設定範圍,不等於企業必須採用的期限。

怎樣避免清理 Mac CI 產物時誤刪發布審計證據?

先把需長期保存的 archive、匹配 dSYM、交付檔及必要發布紀錄移出可定期清理的工作區,並記錄保存位置、刪除權限與負責人。清理前依目錄用途和可重建性分類;再從獨立存放位置抽樣復原,確認檔案可讀、識別資訊相符,並留下驗收紀錄。