刪除和復原套件

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

無論您已直接發佈或從上游來源儲存這些套件類型,Azure Artifacts 都會安全地將各種套件類型儲存在您的摘要中。 隨著舊版套件版本變得較不相關,您可以考慮透過手動刪除或使用保留原則加以移除。 在本文中,您將學會如何:

  • 從摘要中刪除套件。
  • 設定保留原則。
  • 手動永久刪除套件。
  • 復原最近刪除的套件。

注意

若要刪除/復原套件或設定保留原則,您必須是 摘要擁有者

刪除套件

在 Azure Artifacts 中,套件是不可變的。 將套件發佈至摘要之後,其版本號碼會永久保留。 即使您從摘要中刪除它,您也無法發佈具有相同版本號碼的新套件。

注意

您必須是 摘要發行者(參與者), 才能取消列出套件和 摘要擁有者 ,才能將其刪除。

有兩個可用選項可從您的摘要中移除 NuGet 套件、 取消列出刪除。 取消列出套件版本會將它隱藏在 Azure Artifacts 摘要和 NuGet.org 的搜尋結果中,同時刪除套件版本將其傳送至回收站,並使其無法進行安裝。

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [ 成品],然後從下拉功能表中選取您的摘要。

  3. 選取您想要刪除的套件,然後選取 [取消列出] 或 [刪除]。

    顯示如何刪除或取消列出NuGet套件的螢幕快照。

使用 NuGet.exe 取消列出套件

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [ 成品],然後從下拉功能表中選取您的摘要。

  3. 選取 [連線] 以摘要>NuGet.exe,然後尋找並複製您的套件來源 URL。 它應該類似下列格式:”https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json"

  4. 執行下列命令以取消列出您的 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 天后永久刪除,但該時間會繼續為您的記憶體成本做出貢獻。 如果您想要在此期間之前移除它們,您可以遵循下列步驟,從回收站手動刪除它們:

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [ 成品],然後從下拉功能表中選取您的摘要。

  3. 從右上角選取 [回收站 ]。

    顯示如何在 Azure Artifacts 中存取回收站的螢幕快照。

  4. 選取您要永久刪除的套件,然後選取 [ 永久刪除]。

    顯示如何在 Azure Artifacts 中永久刪除套件的螢幕快照。

  5. 再次選取 [ 永久刪除] 以確認您的決定。 您的套件將會永久刪除。

    顯示永久刪除套件之前確認訊息的螢幕快照。

使用保留原則自動刪除套件

在摘要中裝載的每個套件版本數目可能會快速成長。 若要釋放儲存空間,您可以設定保留原則來自動刪除舊的套件。

如果您想要無限期地保留套件,您可以將它升階為 檢視。 升級至檢視的套件不受保留原則的豁免,且不會受到刪除。 若要設定摘要的保留原則,請遵循下列步驟:

注意

Azure Artifacts 不支援套件降級。

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [ 成品],然後從右上角選取齒輪圖示 齒輪圖示 ,以存取摘要的設定。

  3. 選取 [ 摘要詳細數據],然後核取 [ 啟用套件保留] 複選框。 提供每個套件版本數目上限和天數的值,以保留最近下載的套件

    • 每個套件的版本數目上限:您想要保留的每個套件版本數目。

    • 保留最近下載套件的天數:只有在套件尚未下載到此處指定的天數時,才會刪除套件。

  4. 當完成時,選擇儲存

    顯示如何為您的摘要設定保留原則的螢幕快照。

注意

當您啟用保留原則時,符合下列兩個條件時,將會刪除套件的版本:

  • 發行的版本數目達到 每個套件 限制的版本數目上限。
  • 該套件的版本尚未在 Days 中指定的 期間內下載,以保留最近下載的套件

還原已刪除的套件

已刪除的套件會保留在回收站中 30 天。 在此期間之後,將會永久刪除它們。 您必須是摘要 擁有者 ,才能還原已刪除的套件。

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [成品],然後選取 [回收站]。

  3. 選取您的套件,然後選取 [ 還原]。

    顯示如何還原已刪除套件的螢幕快照。

  4. 再次選取 [ 還原 ] 以確認您的決定。

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 小時才會反映變更。 組織帳單頁面上的構件使用量會每天更新一次。 不過,成品 儲存體 頁面會更頻繁地更新,這可能會導致兩個頁面上顯示的資訊稍有差異。