Configurar el comportamiento de nivel superior
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Con los orígenes ascendentes de Azure Artifacts, los desarrolladores obtienen la comodidad de usar una fuente unificada para publicar y consumir paquetes de fuentes de artefactos y registros públicos populares, como NuGet.org o npmjs.com. Anteriormente, las fuentes artifact combinaban una lista de versiones de paquete disponibles de la propia fuente y todos los orígenes ascendentes configurados.
El comportamiento ascendente es una característica que permite a los desarrolladores elegir si quieren consumir versiones de paquetes de origen externo. Controla qué paquetes son accesibles desde los registros públicos para paquetes específicos.
Una vez habilitado el comportamiento ascendente, cuando se publica un paquete en la fuente de Azure Artifacts, se bloquea cualquier versión del registro público y no está disponible para su descarga.
Este enfoque agrega una capa adicional de seguridad evitando la posible exposición a paquetes malintencionados que podrían haber infiltrado los registros públicos.
Sin embargo, los usuarios todavía pueden desactivar la configuración de comportamiento ascendente, lo que les permite consumir paquetes de los registros públicos si prefieren hacerlo.
Nota:
El nuevo comportamiento no afectará a ninguna versión de paquete que esté actualmente en uso, ya que se conservan dentro de la vista @local de la fuente.
Situaciones aplicables
En la sección siguiente se muestran varios escenarios comunes en los que se desencadena el comportamiento ascendente para bloquear las versiones de paquetes de origen externo y otros escenarios en los que no es necesario bloquear el acceso a los paquetes públicos.
Las versiones públicas están bloqueadas
Versión del paquete privado pública
En este escenario, un equipo tiene un paquete privado que se hizo público. El comportamiento ascendente en este caso se desencadenará para bloquear las nuevas versiones públicas (paquetes que no son de confianza).
Tener paquetes privados y públicos
En este escenario, si un equipo usa una combinación de paquetes privados y públicos, al habilitar el comportamiento ascendente se bloquean las nuevas versiones de paquetes del registro público.
No se bloquearán las versiones públicas
Todos los paquetes son privados*
Si todos los paquetes existentes son privados y el equipo no tiene planes de usar ningún paquete público, el nuevo comportamiento ascendente no tiene ningún efecto en el flujo de trabajo del equipo en este escenario.
Todos los paquetes son públicos
En este escenario, si el equipo consume exclusivamente paquetes públicos, ya sea desde el registro público u otros repositorios de código abierto, el nuevo comportamiento ascendente no afecta a su flujo de trabajo de ninguna manera.
Paquete público hecho privado
En esta situación, cuando se convierte un paquete público en un paquete privado, el nuevo comportamiento ascendente no afecta al flujo de trabajo del equipo de ninguna manera.
Permitir versiones externas
Nota:
Debe ser propietario de fuente para permitir versiones de origen externo. Para obtener más información, consulte Permisos de fuente.
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 y, a continuación, seleccione el botón de puntos suspensivos para obtener más opciones. Seleccione Permitir versiones de origen externo.
Seleccione el botón de alternancia para permitir versiones externas. Seleccione Cerrar cuando haya terminado.
Permitir versiones externas mediante la API REST
Permitir versiones externas mediante PowerShell
Cree un token de acceso personal con Empaquetado>de permisos de lectura, escritura y administración.
Cree una variable de entorno para el token de acceso personal.
$env:PATVAR = "YOUR_PERSONAL_ACCESS_TOKEN"
Convierta el token de acceso personal en cadena codificada en baser64 y construya el encabezado de solicitud HTTP.
$token = [Convert]::ToBase64String(([Text.Encoding]::ASCII.GetBytes("username:$env:PatVar"))) $headers = @{ Authorization = "Basic $token" }
Construya la dirección URL del punto de conexión. Ejemplo: //pkgs.dev.azure.com/MyOrg/MyProject/_apis/packaging/feeds/MyFeed/nuget/packages/pkg1.0.0.nupkg/upstreaming?api-version=6.1-preview.1
Fuente con ámbito de proyecto:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=6.1-preview.1"
Fuente con ámbito de la organización:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=6.1-preview.1"
- Obtener el comportamiento ascendente
- Establecimiento del comportamiento ascendente
- Borrar el comportamiento ascendente
Ejecute el siguiente comando para recuperar el estado de comportamiento ascendente del paquete. $url
y $headers
son las mismas variables que hemos usado en la sección anterior.
Invoke-RestMethod -Uri $url -Headers $headers
Artículos relacionados
Comentaris
https://aka.ms/ContentUserFeedback.
Properament: al llarg del 2024 eliminarem gradualment GitHub Issues com a mecanisme de retroalimentació del contingut i el substituirem per un nou sistema de retroalimentació. Per obtenir més informació, consulteu:Envieu i consulteu els comentaris de