Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
O Azure Pipelines permite que os desenvolvedores publiquem pacotes nos feeds do Azure Artifacts dentro de sua organização, para feeds em outras organizações e para registros públicos, como nuget.org. Este artigo explica como publicar pacotes NuGet em feeds internos e externos usando pipelines Clássicos e YAML.
Pré-requisitos
| Produto | Requisitos |
|---|---|
| Azure DevOps | - Uma organização do Azure DevOps e um projeto. - Um feed do Azure Artifacts. - Se você estiver usando um agente auto-hospedado, verifique se ele tem o SDK do .NET Core e o NuGet instalados. - Permissões: – Para conceder acesso a todos os pipelines do projeto, você deve ser membro do grupo Administradores do Projeto. – Para criar conexões de serviço, você deve ter a função Administrador ou a função Criador para conexões de serviço. |
Observação
Se você estiver usando o Ubuntu 24.04 ou posterior, deverá usar o comando NuGetAuthenticate com a CLI do .NET em vez de nuget.exe. Consulte Suporte para imagens mais recentes hospedadas do Ubuntu para obter mais detalhes.
Publicar pacotes NuGet em um feed na mesma organização
Se você ainda não tiver um feed, poderá criar um novo, caso contrário, siga estas etapas para publicar seu pacote NuGet em um feed dentro da mesma organização:
Entre no Azure DevOps e navegue até o projeto.
Selecione Pipelines e, em seguida, selecione sua definição de pipeline.
Selecione Editar e, em seguida, adicione o seguinte snippet ao pipeline yaml para autenticar e publicar seu pacote:
steps: - task: NuGetToolInstaller@1 # Minimum required NuGet version: 4.8.0.5385+. displayName: 'NuGet Tool Installer' - task: NuGetAuthenticate@1 # Authenticate with Azure Artifacts and other NuGet registries. displayName: 'NuGet Authenticate' - script: | nuget.exe push -Source "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" -ApiKey az $(Build.ArtifactStagingDirectory)\*.nupkg displayName: Push
Entre no Azure DevOps e navegue até o projeto.
Selecione Pipelines e, em seguida, selecione sua definição de pipeline.
Selecione Editar e, em seguida, adicione o seguinte snippet ao pipeline yaml para autenticar e publicar seu pacote:
steps: - task: NuGetToolInstaller@1 # Minimum required NuGet version: 4.8.0.5385+. displayName: 'NuGet Tool Installer' - task: NuGetAuthenticate@1 displayName: 'NuGet Authenticate' - script: | nuget.exe push -Source "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" -ApiKey az $(Build.ArtifactStagingDirectory)\*.nupkg displayName: Push
Observação
Para publicar pacotes em um feed usando o Azure Pipelines, certifique-se de que o Serviço de Build da Coleção de Projetos e as identidades do Serviço de Build do projeto tenham a função de Editor do Feed (Colaborador) atribuída nas configurações do feed. Consulte Gerenciar permissões para obter mais detalhes.
Publicar pacotes NuGet em um feed em outra organização
Para publicar seus pacotes NuGet em um feed em uma organização diferente do Azure DevOps, primeiro você deve criar um PAT (token de acesso pessoal) na organização de destino e, em seguida, criar uma conexão de serviço na organização em que o pipeline é executado. Em seguida, você pode usar a conexão de serviço em seu pipeline YAML ou Clássico para autenticar e publicar seus pacotes.
1. Criar um token de acesso pessoal
Entre na organização do Azure DevOps que hospeda seu feed de destino.
Navegue até Configurações de Usuário>tokens de acesso pessoal.
Selecione Novo Token, forneça um nome descritivo e, em seguida, em Escopos, selecione Empacotamento>Leitura & gravação.
Selecione Criar quando terminar e, em seguida, copie e armazene seu PAT em um local seguro, pois você precisará dele para configurar a conexão de serviço em seguida.
2. Criar uma conexão de serviço
Entre na organização do Azure DevOps em que o pipeline será executado e navegue até o projeto.
Navegue até as configurações do Project Conexões> de serviço.
Selecione Nova conexão de serviço e, selecione NuGet, em seguida, selecione Próximo.
Selecione Azure DevOps Server Externo como o Método de autenticação e insira a URL do feed de destino. Cole o Token de Acesso Pessoal que você criou anteriormente, forneça um nome para sua conexão de serviço e marque Conceder permissão de acesso a todos os pipelines , se aplicável ao seu cenário.
Selecione Salvar ao terminar.
3. Publicar seu pacote
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Pipelines e, em seguida, selecione a definição do pipeline.
Selecione Editar e, em seguida, adicione o seguinte snippet ao pipeline yaml para autenticar e publicar seu pacote:
- task: NuGetToolInstaller@1 # Minimum required NuGet version: 4.8.0.5385+. displayName: 'NuGet Tool Installer' - task: NuGetAuthenticate@1 inputs: nuGetServiceConnections: <SERVICE_CONNECTION_NAME> - script: | nuget.exe push -Source "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" -ApiKey az $(Build.ArtifactStagingDirectory)\*.nupkg displayName: Push
Entre na sua organização do Azure DevOps e navegue até seu projeto.
Selecione Pipelines e, em seguida, selecione a definição do pipeline.
Selecione Editar e adicione o snippet a seguir ao pipeline YAML.
- task: NuGetToolInstaller@1 # Minimum required NuGet version: 4.8.0.5385+. displayName: 'NuGet Tool Installer' - task: NuGetAuthenticate@1 # Authenticate with Azure Artifacts and other NuGet registries. inputs: nuGetServiceConnections: <SERVICE_CONNECTION_NAME> # Name of the service connection used to authenticate with feeds across organizations or public registries. - script: | nuget.exe push -Source "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" -ApiKey az $(Build.ArtifactStagingDirectory)\*.nupkg displayName: Push