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
Navegue até NuGet.org e inicie sessão na sua conta.
Selecione o ícone do seu nome de utilizador e, em seguida, selecione Chaves de API.
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.Selecione Criar quando terminar.
Selecione Copiar e salve sua chave de API em um local seguro.
Criar uma conexão de serviço
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Configurações do projeto no canto inferior esquerdo da página.
Selecione NuGet e, em seguida, selecione Avançar.
Selecione ApiKey como método de autenticação e defina o URL do Feed para:
https://api.nuget.org/v3/index.json
.Insira a ApiKey que você criou anteriormente no campo ApiKey e forneça um nome para sua conexão de serviço.
Marque a caixa de seleção Conceder permissão de acesso a todos os pipelines e selecione Salvar quando terminar.
Publicar pacotes
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Pipelines, selecione a definição do seu pipeline e, em seguida, selecione Editar.
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