Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
En esta guía se explica cómo configurar el proyecto para publicar paquetes NuGet mediante la interfaz de la línea de comandos dotnet.
Prerrequisitos
| Producto | Requisitos |
|---|---|
| Azure DevOps | - Una organización de Azure DevOps. - Un proyecto de Azure DevOps . - Una fuente de Azure Artifacts. - Descargue e instale la versión .NET SDK9.0.200 o posterior. |
Configuración del proveedor de credenciales de Azure Artifacts
Para autenticarse con la fuente, primero debe instalar el proveedor de credenciales de Azure Artifacts. Con el instalador de herramientas incluido con dotnet, puede instalar el proveedor de credenciales desde la CLI mediante el siguiente comando:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Si el nuget.config a nivel de repositorio está configurado para usar solo orígenes de Azure Artifacts, ejecute el comando de instalación desde fuera de ese directorio o establezca explícitamente nuget.org como origen:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
Opcionalmente, ancle la herramienta a una versión principal (por ejemplo, en imágenes de contenedor donde importa la reproducibilidad):
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json
Primer uso
La primera vez que realice una operación que requiera autenticación, use uno de los métodos siguientes:
- Ejecute el comando con
--interactivepara quedotnetpueda pedir que inicie sesión. Este es el enfoque recomendado para la mayoría de los escenarios de desarrollo local.
Antes de ejecutar un comando interactivo, asegúrese de que el proyecto esté configurado y de que la fuente se agregue a nuget.config. Para obtener más información sobre la configuración, consulte configuración del proyecto.
Una vez que su proyecto esté configurado y conectado a su feed, vaya al directorio de su proyecto y ejecute:
dotnet restore --interactive
Este comando inicia sesión y adquiere un token de sesión. Una vez que el inicio de sesión se realiza correctamente, puede ejecutar comandos autenticados sin --interactive mientras el token de sesión almacenado en caché siga siendo válido. Para obtener más información, consulte Session token cache locations.
- En escenarios no interactivos, como contenedores de Docker y automatización personalizada, proporcione credenciales a través de variables de entorno.
En Azure Pipelines, use la tarea NuGetAuthenticate@1 para autenticarse en la fuente antes de ejecutar comandos como dotnet restore o dotnet nuget push. Consulte Restaurar paquetes NuGet con Azure Pipelines para obtener más información.
Crear una fuente
Si ya tiene una fuente, continúe con el paso siguiente. De lo contrario, siga las instrucciones siguientes para crear una nueva:
Inicie sesión en Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, Crear un feed.
Introduzca un Nombre descriptivo para su canal y defina su Visibilidad (quién puede usar su canal). Especifique el ámbito de la fuente y, si desea incluir paquetes de orígenes públicos, active la casilla Incluir paquetes de orígenes públicos comunes .
Seleccione Crear cuando haya terminado.
Conexión a una fuente
Antes de poder publicar paquetes en tu feed, debes autenticarte con Azure Artifacts. Siga las instrucciones siguientes para configurar su proyecto y autenticarse con su feed de datos:
Inicie sesión en la organización de Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.
Escoger Conéctese a la alimentación, y, a continuación, seleccione dotnet del NuGet a la izquierda.
Cree un archivo nuget.config en la misma carpeta que el archivo csproj o sln. Copie el siguiente fragmento XML y péguelo en el nuevo archivo y reemplace los marcadores de posición por la información pertinente:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
</packageSources>
</configuration>
Inicie sesión en el servidor de Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione la fuente.
Seleccione Conectar a la fuente y, a continuación, seleccione dotnet en el panel de navegación izquierdo.
Siga las instrucciones de la sección Configuración del proyecto para conectarse a su fuente.
Publica paquetes en un feed de la misma organización
Utilice el siguiente comando para publicar un paquete en tu feed de datos. Reemplace los marcadores de posición por los valores devueltos adecuados:
dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH>
ejemplo:
dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg
Nota
El parámetro api-key es necesario al publicar en un feed de Azure Artifacts, pero puede usar cualquier cadena como su valor.
Publicar paquetes en un feed en una organización diferente
Para publicar los paquetes NuGet en una fuente en otra organización de Azure DevOps, primero debe crear un token de acceso personal (PAT) en la organización de destino, agregar el nuevo origen del paquete al archivo de configuración y, a continuación, ejecutar el comando publish:
Vaya a la organización que hospeda la fuente de destino y cree un token de acceso personal (PAT) con el ámbito Empaquetado>Lectura y escritura.
Reemplace el marcador de posición <PERSONAL_ACCESS_TOKEN> por el token de acceso personal y, a continuación, ejecute el siguiente comando para agregar el origen del paquete al archivo de nuget.config. Asegúrese de que este archivo se almacena de forma segura y no está protegido en el control de código fuente.
dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>Ejecute el siguiente comando para publicar el paquete:
dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
ejemplo:
dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.config
dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg
Nota
Si su organización usa un firewall o un servidor proxy, asegúrese de que se permiten las direcciones URL de dominio y las direcciones IP de Azure Artifacts .