刪除和復原套件
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
無論您已直接發佈或從上游來源儲存這些套件類型,Azure Artifacts 都會安全地將各種套件類型儲存在您的摘要中。 隨著舊版套件版本變得較不相關,您可以考慮透過手動刪除或使用保留原則加以移除。 在本文中,您將學會如何:
- 從摘要中刪除套件。
- 設定保留原則。
- 手動永久刪除套件。
- 復原最近刪除的套件。
注意
若要刪除/復原套件或設定保留原則,您必須是 摘要擁有者。
刪除套件
在 Azure Artifacts 中,套件是不可變的。 將套件發佈至摘要之後,其版本號碼會永久保留。 即使您從摘要中刪除它,您也無法發佈具有相同版本號碼的新套件。
注意
您必須是 摘要發行者(參與者), 才能取消列出套件和 摘要擁有者 ,才能將其刪除。
有兩個可用選項可從您的摘要中移除 NuGet 套件、 取消列出 和 刪除。 取消列出套件版本會將它隱藏在 Azure Artifacts 摘要和 NuGet.org 的搜尋結果中,同時刪除套件版本將其傳送至回收站,並使其無法進行安裝。
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [ 成品],然後從下拉功能表中選取您的摘要。
選取您想要刪除的套件,然後選取 [取消列出] 或 [刪除]。
使用 NuGet.exe 取消列出套件
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [ 成品],然後從下拉功能表中選取您的摘要。
選取 [連線] 以摘要>NuGet.exe,然後尋找並複製您的套件來源 URL。 它應該類似下列格式:”https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json"
執行下列命令以取消列出您的 NuGet 套件:
nuget.exe delete <PACKAGE_NAME> <PACKAGE_VERSION> -Source <PACKAGE_SOURCE_URL> -ApiKey <KEY>
注意
Azure DevOps 和 Visual Studio Team Foundation Server 會將 nuget.exe delete
命令解譯為未列出的作業。 若要刪除套件,您必須使用 REST API ,或從 Web 介面手動刪除它。
永久刪除套件
在回收站中放置的套件會在 30 天后永久刪除,但該時間會繼續為您的記憶體成本做出貢獻。 如果您想要在此期間之前移除它們,您可以遵循下列步驟,從回收站手動刪除它們:
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [ 成品],然後從下拉功能表中選取您的摘要。
從右上角選取 [回收站 ]。
選取您要永久刪除的套件,然後選取 [ 永久刪除]。
再次選取 [ 永久刪除] 以確認您的決定。 您的套件將會永久刪除。
使用保留原則自動刪除套件
在摘要中裝載的每個套件版本數目可能會快速成長。 若要釋放儲存空間,您可以設定保留原則來自動刪除舊的套件。
如果您想要無限期地保留套件,您可以將它升階為 檢視。 升級至檢視的套件不受保留原則的豁免,且不會受到刪除。 若要設定摘要的保留原則,請遵循下列步驟:
注意
Azure Artifacts 不支援套件降級。
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [ 成品],然後從右上角選取齒輪圖示 ,以存取摘要的設定。
選取 [ 摘要詳細數據],然後核取 [ 啟用套件保留] 複選框。 提供每個套件版本數目上限和天數的值,以保留最近下載的套件。
每個套件的版本數目上限:您想要保留的每個套件版本數目。
保留最近下載套件的天數:只有在套件尚未下載到此處指定的天數時,才會刪除套件。
當完成時,選擇儲存。
注意
當您啟用保留原則時,符合下列兩個條件時,將會刪除套件的版本:
- 發行的版本數目達到 每個套件 限制的版本數目上限。
- 該套件的版本尚未在 Days 中指定的 期間內下載,以保留最近下載的套件。
還原已刪除的套件
已刪除的套件會保留在回收站中 30 天。 在此期間之後,將會永久刪除它們。 您必須是摘要 擁有者 ,才能還原已刪除的套件。
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [成品],然後選取 [回收站]。
選取您的套件,然後選取 [ 還原]。
再次選取 [ 還原 ] 以確認您的決定。
Q&A
問:取代、取消列出、洋克和刪除套件版本之間的差異為何?
答: 取代 適用於 npm 套件, Yank 會套用至 Cargo 套件,而 Unlist 則適用於 NuGet 套件。 您也可以 刪除 任何套件類型(npm、Maven、Python、Cargo 和通用套件):
取代 (npm):當您取代套件版本時,會將警告訊息新增至套件的元數據。 每當檢視或安裝套件時,Azure Artifacts 和大部分 npm 用戶端都會顯示此警告訊息。
取消清單 (NuGet):取消列出套件版本會將其隱藏在 Azure Artifacts 摘要和 NuGet.org 的搜尋結果中。
洋克 (貨物):洋金套件版本將它標示為過時或已被取代,並阻止其使用,但不會刪除套件。
刪除:刪除套件版本,使其無法安裝。 刪除的套件可以在刪除后的 30 天內從回收站還原。 在此期間之後,將會永久刪除套件。
問:當我們啟用保留原則時,舊套件或現有套件會發生什麼情況?
答:舊套件或現有套件將會虛刪除並移至回收站。 刪除作業會每天執行一次,但原則第一次開啟後可能會因為套件湧入而發生初始延遲。
套件會在資源回收筒中保留 30 天,才會遭到永久刪除。 若要從可計費的儲存體中移除套件,您可以在 30 天到了前,選擇使用 UI 或 REST API 手動刪除這些套件。
問:刪除成品之後,計費的記憶體金額需要多久時間才能更新?
答:一般而言,記憶體耗用量應在 24 小時內更新,但在某些情況下,可能需要最多 48 小時才會反映變更。 組織帳單頁面上的構件使用量會每天更新一次。 不過,成品 儲存體 頁面會更頻繁地更新,這可能會導致兩個頁面上顯示的資訊稍有差異。