Удаление и восстановление пакетов

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Артефакты Azure безопасно хранят различные типы пакетов в веб-канале, независимо от того, опубликовали ли вы их непосредственно или сохранили из вышестоящий источников. Так как старые версии пакетов становятся менее актуальными, их можно удалить с помощью ручного удаления или использования политик хранения. В этой статье вы узнаете, как выполнять следующие задачи.

  • Удаление пакетов из веб-канала.
  • Настройте политики хранения.
  • Вручную удалите пакеты безвозвратно.
  • Восстановление недавно удаленных пакетов.

Примечание.

Чтобы удалить или восстановить пакеты или настроить политики хранения, необходимо быть владельцем канала.

Удаление пакетов

В 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 или удалить его вручную из веб-интерфейса.

Удаление пакетов безвозвратно

Пакеты, помещенные в корзину , окончательно удаляются через 30 дней, но они продолжают вносить свой вклад в затраты на хранение в течение этого времени. Если вы хотите удалить их до этого периода, их можно удалить вручную из корзины, выполнив следующие действия:

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите веб-канал в раскрывающемся меню.

  3. Выберите корзину в правом верхнем углу.

    Снимок экрана: доступ к корзине в Azure Artifacts.

  4. Выберите пакет, который нужно удалить окончательно, а затем нажмите кнопку " Окончательно удалить".

    Снимок экрана, показывающий, как окончательно удалить пакет в Azure Artifacts.

  5. Нажмите кнопку " Окончательно удалить ", чтобы подтвердить свое решение. Пакет будет удален окончательно.

    Снимок экрана: сообщение подтверждения перед удалением пакета окончательно.

Автоматическое удаление пакетов с помощью политик хранения

Количество версий для каждого пакета, размещенного в веб-канале, может быстро увеличиваться. Чтобы освободить место в хранилище, можно настроить политики хранения для автоматического удаления старых пакетов.

Если вы хотите сохранить пакет на неопределенный срок, его можно повысить до представления. Пакеты, повышенные до представления, освобождаются от политик хранения и не будут подлежать удалению. Чтобы настроить политики хранения для веб-канала, выполните следующие действия.

Примечание.

Артефакты Azure не поддерживают понижение пакета.

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите значок Значок шестеренки шестеренки в правом верхнем углу, чтобы получить доступ к параметрам веб-канала.

  3. Выберите сведения о веб-канале, а затем проверка папку "Включить хранение пакетов" проверка box. Укажите значения как для максимального числа версий на пакет, так и дней, чтобы сохранить недавно загруженные пакеты.

    • Максимальное количество версий для каждого пакета: количество версий для каждого пакета, которое требуется сохранить.

    • Дни хранения недавно загруженных пакетов: пакеты будут удалены только в том случае, если они не были скачаны в течение указанного количества дней, указанных здесь.

  4. Выберите Сохранить, когда вы закончите.

    Снимок экрана: настройка политик хранения для веб-канала.

Примечание.

При включении политик хранения версия пакета будет удалена при выполнении обоих следующих условий:

  • Число опубликованных версий достигает максимального числа версий на пакет.
  • Версия этого пакета не была скачана в течение периода, указанного в днях, чтобы сохранить недавно загруженные пакеты.

Восстановление удаленных пакетов

Удаленные пакеты остаются в корзине в течение 30 дней. После этого периода они будут окончательно удалены. Для восстановления удаленных пакетов необходимо быть владельцем канала.

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите корзину.

  3. Выберите пакет и нажмите кнопку "Восстановить".

    Снимок экрана: восстановление удаленных пакетов.

  4. Нажмите кнопку "Восстановить еще раз", чтобы подтвердить свое решение.

Q&A

Вопрос. В чем разница между нерекомендуемой, unlist, Yank и Delete a package version?

Ответ. Нерекомендуемая применяется к пакетам npm, Yank применяется к пакетам Cargo, а unlist применяется к пакетам NuGet. Вы также можете удалить любой из типов пакетов (npm, Maven, Python, Cargo и универсальные пакеты):

  • Нерекомендуемая версия пакета (npm): при отмене версии пакета в метаданные пакета добавляется предупреждение. Артефакты Azure и большинство клиентов npm будут отображать это предупреждение при просмотре или установке пакета.

  • Отмена списка (NuGet): отмена списка версий пакета скрывает его из результатов поиска в веб-каналах Azure Artifacts и NuGet.org.

  • Yank (Cargo): Yanking версия пакета помечает его как устаревшую или нерекомендуемую, отвлекая его использование, но не удаляет пакет.

  • Удаление: удаление версии пакета делает его недоступным для установки. Удаленные пакеты можно восстановить из корзины в течение 30 дней после удаления. После этого периода пакеты будут окончательно удалены.

Вопрос. Что происходит с старыми или существующими пакетами при включении политик хранения?

Ответ. Старые или существующие пакеты будут обратимо удалены и перемещены в корзину. Задание удаления выполняется один раз в день, но после первого включения политики может возникнуть начальная задержка из-за притока пакетов.

Пакеты остаются в корзине в течение 30 дней, прежде чем будут окончательно удалены. Чтобы удалить пакеты из оплачиваемого хранилища, удалите их вручную с использованием пользовательского интерфейса или REST API до истечения 30 дней.

Вопрос. Сколько времени требуется для обновления оплачиваемого объема хранилища после удаления артефактов?

Ответ. Как правило, потребление хранилища должно обновляться в течение 24 часов, хотя в некоторых случаях может потребоваться до 48 часов для отражения изменений. Использование артефактов на странице выставления счетов организации обновляется один раз в день. Однако страница артефакта служба хранилища обновляется чаще, что может привести к незначительным несоответствиям между сведениями, отображаемыми на двух страницах.