Eliminar y recuperar paquetes
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Azure Artifacts almacena de forma segura varios tipos de paquetes dentro de la fuente, tanto si los ha publicado directamente como si los ha guardado de orígenes ascendentes. A medida que las versiones anteriores del paquete sean menos relevantes, puede considerar la posibilidad de quitarlas a través de la eliminación manual o mediante directivas de retención. En este artículo, aprenderá a:
- Elimine los paquetes de la fuente.
- Configurar directivas de retención.
- Elimine manualmente los paquetes de forma permanente.
- Recuperar paquetes eliminados recientemente.
Nota:
Para eliminar o recuperar paquetes o configurar directivas de retención, debe ser propietario de la fuente.
Eliminación de paquetes
En Azure Artifacts, los paquetes son inmutables. Una vez que publique un paquete en la fuente, su número de versión se reserva permanentemente. Incluso si lo elimina de la fuente, no puede publicar un nuevo paquete con el mismo número de versión.
Nota:
Debe ser un publicador de fuentes (colaborador) para anular la lista de un paquete y un propietario de fuente para eliminarlo.
Hay dos opciones disponibles para quitar un paquete NuGet de la fuente, Anular lista y Eliminar. Al anular la lista de una versión del paquete, se ocultan los resultados de búsqueda en las fuentes de Azure Artifacts y en NuGet.org, mientras que la eliminación de una versión del paquete la envía a la papelera de reciclaje y hace que no esté disponible para la instalación.
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.
Seleccione el paquete que desea eliminar y, a continuación, seleccione Anular lista o Eliminar.
Anular la lista de paquetes mediante NuGet.exe
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.
Seleccione Conectar para alimentar>NuGet.exe y, a continuación, busque y copie la dirección URL del origen del paquete. Debe parecerse a este formato: "https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json".
Ejecute el siguiente comando para anular la lista del paquete NuGet:
nuget.exe delete <PACKAGE_NAME> <PACKAGE_VERSION> -Source <PACKAGE_SOURCE_URL> -ApiKey <KEY>
Nota:
Azure DevOps y Visual Studio Team Foundation Server interpretan el nuget.exe delete
comando como una operación de anulación de la lista. Para eliminar un paquete, debe usar la API REST o eliminarlo manualmente de la interfaz web.
Eliminar paquetes de forma permanente
Los paquetes colocados en la papelera de reciclaje se eliminan permanentemente después de 30 días, pero siguen contribuyendo a los costos de almacenamiento durante ese tiempo. Si desea quitarlos antes de este período, puede eliminarlos manualmente de la Papelera de reciclaje siguiendo estos pasos:
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.
Seleccione Papelera de reciclaje en la esquina superior derecha.
Seleccione el paquete que desea eliminar permanentemente y, a continuación, seleccione Eliminar permanentemente.
Seleccione Eliminar permanentemente una vez más para confirmar la decisión. El paquete se eliminará permanentemente.
Eliminación automática de paquetes con directivas de retención
El número de versiones de cada paquete hospedado en la fuente puede crecer rápidamente. Para liberar espacio de almacenamiento, puede configurar directivas de retención para eliminar automáticamente los paquetes antiguos.
Si desea conservar un paquete indefinidamente, puede promoverlo a una vista. Los paquetes promocionados a una vista están exentos de las directivas de retención y no estarán sujetos a eliminación. Para configurar directivas de retención para la fuente, siga estos pasos:
Nota:
Azure Artifacts no admite la degradación de paquetes.
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Artefactos y, a continuación, seleccione el icono de engranaje en la esquina superior derecha para acceder a la configuración de la fuente.
Seleccione Detalles de fuente y active la casilla Habilitar retención de paquetes. Proporcione valores para el número máximo de versiones por paquete y Días para mantener los paquetes descargados recientemente.
Número máximo de versiones por paquete: el número de versiones de cada paquete que desea conservar.
Días para mantener los paquetes descargados recientemente: los paquetes solo se eliminarán si no se han descargado durante el número de días especificado aquí.
Cuando haya terminado, haga clic en Guardar.
Nota:
Al habilitar directivas de retención, se eliminará una versión de un paquete cuando se cumplan las dos condiciones siguientes:
- El número de versiones publicadas alcanza el número máximo de versiones por límite de paquetes .
- No se ha descargado una versión de ese paquete durante el período especificado en Días para mantener los paquetes descargados recientemente.
Restauración de paquetes eliminados
Los paquetes eliminados permanecen en la papelera de reciclaje durante 30 días. Después de este período, se eliminarán permanentemente. Debe ser propietario de fuente para restaurar los paquetes eliminados.
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Artefactos y, a continuación, seleccione Papelera de reciclaje.
Seleccione el paquete y, a continuación, seleccione Restaurar.
Seleccione Restaurar una vez más para confirmar la decisión.
Q&A
P: ¿Cuál es la diferencia entre Deprecate, Unlist, Yank y Delete a package version?
R: En desuso se aplica a los paquetes npm, Yank se aplica a los paquetes de Carga mientras que La lista no se aplica a los paquetes NuGet. También puede eliminar cualquiera de los tipos de paquete (npm, Maven, Python, Cargo y Paquetes universales):
En desuso (npm): al dejar de usar una versión del paquete, se agrega un mensaje de advertencia a los metadatos del paquete. Azure Artifacts y la mayoría de los clientes de npm mostrarán este mensaje de advertencia cada vez que se vea o instale el paquete.
Anular la lista (NuGet): al anular la lista de una versión del paquete se ocultan los resultados de búsqueda en las fuentes de Azure Artifacts y en NuGet.org.
Yank (Cargo): Yanking una versión del paquete lo marca como obsoleto o en desuso, lo desacredita su uso, pero no elimina el paquete.
Eliminar: la eliminación de una versión del paquete hace que no esté disponible para instalarse. Los paquetes eliminados se pueden restaurar desde la papelera de reciclaje en un plazo de 30 días a partir de la eliminación. Después de este período, los paquetes se eliminarán permanentemente.
P: ¿Qué ocurre con los paquetes antiguos o existentes cuando se habilitan las directivas de retención?
R: Los paquetes antiguos o existentes se eliminarán temporalmente y se moverán a la Papelera de reciclaje. El trabajo de eliminación se ejecuta una vez al día, pero puede haber un retraso inicial después de que la directiva se active por primera vez debido a una afluencia de paquetes.
Los paquetes permanecen en la Papelera de reciclaje durante 30 días antes de que se eliminen permanentemente. Para quitar los paquetes del almacenamiento facturable, puede optar por eliminarlos manualmente mediante la interfaz de usuario o la API REST antes de que pasen los 30 días.
P: ¿Cuánto tiempo tarda la cantidad de almacenamiento facturada en actualizarse después de eliminar artefactos?
R: Normalmente, el consumo de almacenamiento debe actualizarse en un plazo de 24 horas, aunque en determinados casos puede tardar hasta 48 horas en reflejarse los cambios. El uso de artefactos en la página de facturación de la organización se actualiza una vez al día. Sin embargo, la página Almacenamiento de artefactos se actualiza con más frecuencia, lo que puede provocar una discrepancia menor entre la información mostrada en las dos páginas.