Compartilhar via


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

Criar um feed

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

  2. Selecione Artefatos e, em seguida, selecione Criar Feed.

  3. 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.

  4. Selecione Criar quando terminar.

    Captura de tela que mostra como criar um novo feed em Azure DevOps Services.

  1. Entre no servidor Azure DevOps e navegue até o projeto.

  2. Selecione Artefatos e, em seguida, selecione Criar Feed.

  3. 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.

  1. Selecione Criar quando terminar.

    Captura de tela que mostra como criar um novo feed em Azure DevOps Server 2022.

  1. Selecione Criar quando terminar.

    Captura de tela que mostra como criar um novo feed em Azure DevOps Server 2020.

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:

  1. Em sua máquina local, crie uma nova pasta e dê um nome a ela.

  2. Abra uma janela de prompt de comando e navegue até a pasta que você criou.

  3. Execute o seguinte comando para criar um novo projeto de Biblioteca de Classes:

    dotnet new classlib
    
  4. 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>
    
  5. 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

  1. Selecione Artefatos e, em seguida, selecione seu feed no menu suspenso.

  2. Selecione Conectar ao feed e, em seguida, selecione dotnet na seção NuGet .

  3. 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>
      
  1. Entre na sua coleção do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.

  3. Selecione Conectar ao Feed e, em seguida, selecione dotnet no painel de navegação esquerdo.

  4. Siga as instruções na seção Configuração do projeto para configurar o arquivo nuget.config e conectar-se ao feed.

    Uma captura de tela que mostra como se conectar a um feed com dotnet em Azure DevOps Server 2020 e 2022.

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>

Próximas etapas