Compartilhar via


comando dotnet nuget push

Este artigo se aplica a: ✔️ SDK do .NET 6 e versões posteriores

Nome

dotnet nuget push - Envia um pacote por push para o servidor e o publica.

Sinopse

dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output]
    [--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
    [--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
    [-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
    [-t|--timeout <TIMEOUT>]
    [--configfile <FILE>]

dotnet nuget push -h|--help

Descrição

O dotnet nuget push comando envia um pacote por push para o servidor e o publica. O comando push usa os detalhes do servidor e da credencial encontrados no arquivo de configuração do NuGet do sistema ou na cadeia de arquivos de configuração. Para obter mais informações sobre arquivos de configuração, consulte Configurando o comportamento do NuGet. A configuração padrão do NuGet é obtida carregando %AppData%\NuGet\NuGet.config (Windows) ou $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS), carregando qualquer nuget.config ou .nuget\nuget.config começando na raiz da unidade e terminando no diretório atual.

O comando envia por push um pacote existente. Ele não cria um pacote. Para criar um pacote, use dotnet pack.

Estrutura de pasta hierárquica

Esse comando pode armazenar pacotes em uma estrutura de pasta hierárquica, que é recomendada para otimizar o desempenho. Ele armazena pacotes em uma estrutura de pasta hierárquica ao publicar em uma pasta local (feed), como nuget add faz, se já houver pelo menos um pacote no feed que esteja em uma estrutura de pasta hierárquica. Se o feed tiver um pacote estruturado de pasta hierárquica já nele, dotnet nuget push respeitará essa estrutura. Portanto, se você quiser publicar em um feed local usando a CLI do .NET em vez da CLI do NuGet:

  • Antes de publicar o primeiro pacote, vá para a pasta de pacotes globais, em %userprofile%.nuget\packages, e selecione a pasta raiz de uma ID do pacote. Pode ser qualquer pacote que não faça parte de uma estrutura, como .NET Standard ou ASP.NET.
  • Copie a pasta de pacote selecionada para a pasta raiz do feed local.
  • Use dotnet nuget push para publicar seu pacote no feed local.
  • Agora você pode excluir a pasta copiada anteriormente e pode usar dotnet nuget push livremente para publicar no feed local.

Como alternativa, use a CLI do NuGet para o primeiro pacote e, em seguida, você pode usar dotnet nuget push para o restante. Para obter mais informações, consulte Feeds locais.

Argumentos

  • ROOT

    Especifica o caminho do arquivo para o pacote a ser enviado por push.

Opções

  • --allow-insecure-connections

    Permite enviar por push para fontes HTTP (não segura).

  • -d|--disable-buffering

    Desabilita o buffer ao enviar por push para um servidor HTTP(S) para reduzir o uso de memória.

  • --force-english-output

    Força o aplicativo a ser executado usando uma cultura invariável baseada em inglês.

  • -?|-h|--help

    Imprime uma descrição de como usar o comando.

  • --interactive

    Permite que o comando pare e aguarde entrada ou ação do usuário. Por exemplo, para concluir a autenticação. Disponível desde o SDK do .NET Core 3.0.

  • -k|--api-key <API_KEY>

    A chave de API para o servidor.

  • -n|--no-symbols

    Não envia símbolos por push (mesmo que presentes).

  • --no-service-endpoint

    Não acrescenta "api/v2/package" à URL de origem.

  • -s|--source <SOURCE>

    Especifica a URL do servidor. O NuGet identifica uma fonte unc ou de pasta local e simplesmente copia o arquivo lá em vez de efetuá-lo por push usando HTTP.

    Importante

    A partir do NuGet 3.4.2, esse é um parâmetro obrigatório, a menos que o arquivo de configuração do NuGet especifique um DefaultPushSource valor. Para obter mais informações, consulte Configurando o comportamento do NuGet.

  • --skip-duplicate

    Ao enviar vários pacotes por push para um servidor HTTP(S), trata qualquer resposta de conflito 409 como um aviso para que outros pushes possam continuar.

  • -sk|--symbol-api-key <API_KEY>

    A chave de API para o servidor de símbolos.

  • -ss|--symbol-source <SOURCE>

    Especifica a URL do servidor de símbolos.

  • -t|--timeout <TIMEOUT>

    Especifica o tempo limite para enviar por push para um servidor em segundos. O padrão é 300 segundos (5 minutos). Especificar 0 aplica o valor padrão.

  • --configfile

    O arquivo de configuração do NuGet (nuget.config) a ser usado. Se esse arquivo for especificado, serão usadas somente as configurações dele. Se ele não for especificado, será usada a hierarquia de arquivos de configuração do diretório atual. Para obter mais informações, confira Configurações comuns do NuGet.

Exemplos

  • Envie por push foo.nupkg para a fonte de push padrão especificada no arquivo de configuração do NuGet, usando uma chave de API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Envie por push foo.nupkg para o servidor NuGet oficial, especificando uma chave de API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Envie por push foo.nupkg para a fonte de push https://customsourcepersonalizada, especificando uma chave de API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Envie por push foo.nupkg para a fonte de push padrão especificada no arquivo de configuração do NuGet:

    dotnet nuget push foo.nupkg
    
  • Envie por push foo.symbols.nupkg para a fonte de símbolos padrão:

    dotnet nuget push foo.symbols.nupkg
    
  • Envie por push foo.nupkg para a fonte de push padrão especificada no arquivo de configuração do NuGet, com um tempo limite de 360 segundos:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Envie todos os arquivos .nupkg no diretório atual para a fonte de push padrão especificada no arquivo de configuração do NuGet:

    dotnet nuget push "*.nupkg"
    
  • Envie todos os arquivos .nupkg para a fonte de push padrão especificada no arquivo de configuração do NuGet, mesmo que uma resposta de conflito 409 seja retornada por um servidor HTTP(S):

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Envie todos os arquivos .nupkg no diretório atual para um diretório de feed local:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Para enviar por push para o Azure Artifacts, consulte a documentação por push do Azure Artifacts.