Partilhar via


Publicar pacotes NuGet no NuGet.org (Classic/YAML)

Usando o Azure Pipelines, os desenvolvedores podem simplificar o processo de publicação de seus pacotes NuGet em feeds e registros públicos. Este artigo irá orientá-lo através da publicação de seus pacotes NuGet para NuGet.org.

Pré-requisitos

Produto Requisitos
Azure DevOps - Um projeto Azure DevOps .
- Permissões:
    - Para conceder acesso a todos os pipelines no projeto, deves ser membro do grupo Administradores de Projeto.
    - Para criar conexões de serviço, você deve ter a função Administrador ou Criador para conexões de serviço .
NuGet.org - Uma conta NuGet.

Criar uma chave de API

  1. Navegue até NuGet.org e inicie sessão na sua conta.

  2. Selecione o ícone do seu nome de utilizador e, em seguida, selecione Chaves de API.

  3. Selecione Criar e, em seguida, forneça um nome para a sua chave. Atribua o escopo Push new packages e package version à sua chave e insira * o campo Glob Pattern para incluir todos os pacotes.

  4. Selecione Criar quando terminar.

  5. Selecione Copiar e salve sua chave de API em um local seguro.

Criar uma conexão de serviço

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione ícone de engrenagem Configurações do projeto no canto inferior esquerdo da página.

  3. Selecione NuGet e, em seguida, selecione Avançar.

  4. Selecione ApiKey como método de autenticação e defina o URL do Feed para: https://api.nuget.org/v3/index.json.

  5. Insira a ApiKey que você criou anteriormente no campo ApiKey e forneça um nome para sua conexão de serviço.

  6. Marque a caixa de seleção Conceder permissão de acesso a todos os pipelines e selecione Salvar quando terminar.

Publicar pacotes

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelines, selecione a definição do seu pipeline e, em seguida, selecione Editar.

  3. Adicione o seguinte trecho ao seu pipeline YAML. Substitua o espaço reservado pelo nome da conexão de serviço criada anteriormente:

    steps:
    - task: DotNetCoreCLI@2
      displayName: 'dotnet pack'
      inputs:
        command: pack
    - task: NuGetCommand@2
      displayName: 'NuGet push'
      inputs:
        command: push
        nuGetFeedType: external
        publishFeedCredentials: <NAME_OF_YOUR_SERVICE_CONNECTION>
    

Quando o pipeline for concluído com êxito, navegue até a página pacotes no NuGet.org, onde você encontrará o pacote publicado recentemente listado na parte superior.

Uma captura de tela mostrando os pacotes publicados no NuGet.org.