Partilhar via


dotnet nuget empurrar

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

Nome

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

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 para o servidor e o publica. O comando push usa detalhes de servidor e credenciais 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) e, em seguida, carregando qualquer nuget.config ou .nuget\nuget.config começando pela 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 hierárquica de pastas

Este comando pode armazenar pacotes em uma estrutura hierárquica de pastas, o que é recomendado para otimizar o desempenho. Ele armazena pacotes em uma estrutura hierárquica de pastas 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 hierárquica de pastas. Se o feed já tiver um pacote estruturado de pasta hierárquica, dotnet nuget push respeita 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 de pacote. Pode ser qualquer pacote que não faça parte de uma estrutura, como .NET standard ou ASP.NET.
  • Copie a pasta do pacote selecionado para a pasta raiz do feed local.
  • Use dotnet nuget push para publicar seu pacote no feed local.
  • Agora você pode excluir a pasta na qual copiou anteriormente e pode usar dotnet nuget push livremente para publicar em seu feed local.

Como alternativa, use a CLI do NuGet para o primeiro pacote, então você pode usar dotnet nuget push para o resto. 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 (inseguro).

  • -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 invariante baseada em inglês.

  • -?|-h|--help

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

  • --interactive

    Permite que o comando pare e aguarde a entrada ou ação do usuário. Por exemplo, para concluir a autenticação.

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

    A chave de API para o servidor.

  • -n|--no-symbols

    Não empurra símbolos (mesmo que presentes).

  • --no-service-endpoint

    Não acrescenta "api/v2/package" ao 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 para lá em vez de enviá-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 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 especificado, somente as configurações desse arquivo serão usadas. Se não for especificado, a hierarquia de arquivos de configuração do diretório atual será usada. Para obter mais informações, consulte Configurações comuns do NuGet.

Exemplos

  • Empurre 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
    
  • Empurre 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
    
  • Empurre foo.nupkg para a fonte https://customsourcede envio personalizada, especificando uma chave de API:

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

    dotnet nuget push foo.nupkg
    
  • Empurre foo.symbols.nupkg para a origem dos símbolos padrão:

    dotnet nuget push foo.symbols.nupkg
    
  • Envie 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 envio 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.