Publicar um pacote em um feed do Azure Artifacts
O Azure Artifacts permite que os desenvolvedores gerenciem com eficiência todas as suas dependências de um único feed. Os feeds no Azure Artifacts servem como repositórios organizacionais para armazenar, gerenciar e compartilhar seus pacotes dentro de sua equipe, entre organizações ou publicamente na Internet. Os feeds do Azure Artifacts dão suporte a uma ampla variedade de tipos de pacotes, incluindo NuGet, npm, Python, Maven, Cargo e Universal Packages.
Este artigo orienta você pelo processo de publicação do seu primeiro pacote em um feed do Azure Artifacts. Você também tem a opção de usar o GitHub Copilot para simplificar esse processo e explorar os recursos do GitHub Copilot Chat no Visual Studio Code.
Pré-requisitos
Crie no Azure DevOps uma organização e um projeto, caso ainda não tenha feito isso.
Instale o SDK do .NET Core.
(Opcional) Configure o GitHub Copilot e o Visual Studio Code. Uma avaliação gratuita de 30 dias do GitHub Copilot está disponível se você ainda não tiver se inscrito.
Criar um feed
Entre na sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione Criar Feed.
Forneça um Nome descritivo para seu feed e defina sua Visibilidade (quem pode visualizar pacotes em seu feed). Defina o Escopo do seu feed e, se quiser incluir pacotes de fontes públicas, marque a caixa de seleção Fontes upstream.
Selecione Criar quando terminar.
Entre no servidor Azure DevOps e navegue até o projeto.
Selecione Artefatos e, em seguida, selecione Criar Feed.
Forneça um Nome descritivo para seu feed e defina sua Visibilidade (quem pode visualizar pacotes em seu feed). Defina o Escopo do seu feed e, se quiser incluir pacotes de fontes públicas, marque a caixa de seleção Fontes upstream.
Selecione Criar quando terminar.
Selecione Criar quando terminar.
Preparar o código
Siga estas etapas para criar um projeto básico de Biblioteca de Classes na linha de comando, configurar os metadados do pacote e gerar um pacote NuGet:
Em sua máquina local, crie uma nova pasta e dê um nome a ela.
Abra uma janela de prompt de comando e navegue até a pasta que você criou.
Execute o seguinte comando para criar um novo projeto de Biblioteca de Classes:
dotnet new classlib
Abra o arquivo csproj e adicione os metadados do pacote à
<PropertyGroup>
marca. Sua estrutura de arquivos deve ser semelhante à seguinte:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> <RootNamespace>demo_class_library</RootNamespace> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PackageId>YOUR_PACKAGE_NAME</PackageId> <Version>YOUR_PACKAGE_VERSION</Version> <Authors>YOUR_NAME</Authors> <Company>YOUR_COMPANY</Company> </PropertyGroup> </Project>
Execute o comando a seguir para empacotar seu projeto e gerar um artefato .nupkg . seu pacote NuGet é gerado no
bin\release
diretório.dotnet pack
Conectar-se a um feed
Selecione Artefatos e, em seguida, selecione seu feed no menu suspenso.
Selecione Conectar ao feed e, em seguida, selecione dotnet na seção NuGet .
Siga as instruções na configuração do projeto para configurar o arquivo nuget.config. A estrutura do seu arquivo deve ser semelhante a esta:
Feed no escopo do projeto:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Feed no escopo da organização:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Entre na sua coleção do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.
Selecione Conectar ao Feed e, em seguida, selecione dotnet no painel de navegação esquerdo.
Siga as instruções na seção Configuração do projeto para configurar o arquivo nuget.config e conectar-se ao feed.
Dica
Você pode perguntar ao GitHub Copilot "como adicionar uma nova fonte de pacote a um arquivo nuget.config existente". O Copilot orientará você no uso do nuget sources Add
comando para adicionar sua nova URL de origem do feed ao arquivo nuget.config .
Publicar pacotes
Execute o comando a seguir no diretório do projeto para publicar o pacote. O ApiKey é necessário, mas você pode usar qualquer valor de cadeia de caracteres ao publicar em um feed do Azure Artifacts.
dotnet nuget push --source <FEED_NAME> --api-key az <PACKAGE_PATH>