Publicación y restauración de paquetes NuGet desde la línea de comandos (dotnet)

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

Azure Artifacts le permite publicar y restaurar los paquetes NuGet hacia y desde la fuente, lo que le permite compartirlos con otros usuarios según la configuración de visibilidad de la fuente. En esta guía se explica cómo configurar el proyecto para publicar o restaurar paquetes mediante la interfaz de la línea de comandos dotnet.

Requisitos previos

Conexión a la fuente

  1. Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.

  2. Seleccione Conectar para alimentar y, a continuación, seleccione dotnet en la sección NuGet de la izquierda.

  3. 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:

  • Feed con ámbito de organización:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <clear />
        <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
      </packageSources>
    </configuration>
    
  • Fuente con ámbito de proyecto:

    <?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>
    
  1. Inicie sesión en el servidor de Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione la fuente.

  3. Seleccione Conectar a Feed (Fuente) y, a continuación, seleccione dotnet en el panel de navegación izquierdo.

  4. Siga las instrucciones de la sección Configuración del proyecto para conectarse a la fuente.

    Captura de pantalla que muestra cómo conectarse a una fuente con dotnet en Azure DevOps Server 2020 y 2022.

Nota:

dotnet no se admite en Azure DevOps Server 2019.

Publicar paquetes

Ejecute el siguiente comando para publicar un paquete en la fuente. Reemplace los marcadores de posición por la información adecuada:

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:

solo api-key se usa como marcador de posición.

Publicación de paquetes desde orígenes externos

  1. Cree un token de acceso personal (PAT) con el ámbito de lectura y escritura de empaquetado.

  2. Reemplace el <PERSONAL_ACCESS_TOKEN> marcador de posición por el token de acceso personal y, a continuación, ejecute el siguiente comando para agregar el origen del paquete al archivo nuget.config . Esto agrega el PAT a nuget.config. Asegúrese de almacenar este archivo de forma segura y no comprobarlo 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>
    
  3. Publique 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.configdotnet 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 permitir las direcciones IP y las direcciones URL de dominio de Azure Artifacts.

Restaurar paquetes

Ejecute el siguiente comando para restaurar los paquetes. La --interactive marca se usa para solicitar al usuario las credenciales:

dotnet restore --interactive