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.
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 pacotes, seja dentro de uma equipe, entre organizações ou publicamente na Internet. O Azure Artifacts dá suporte a uma ampla gama de tipos de pacotes, incluindo NuGet, npm, Python, Maven, Cargo e Pacotes Universais.
Este artigo explica como publicar seu primeiro pacote NuGet em um feed do Azure Artifacts. Opcionalmente, você pode seguir as instruções para usar o GitHub Copilot para ajudar a configurar seu projeto e preparar seu pacote para publicação.
Pré-requisitos
| Produto | Requisitos |
|---|---|
| Azure DevOps | - Uma organização do Azure DevOps. - Um projeto do Azure DevOps . - Baixe e instale o SDK .NET versão 9.0.200 ou posterior. |
| GitHub Copilot (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
Se você já tiver um feed, ignore esta seção. Caso contrário, siga as etapas abaixo para criar um novo feed no Azure Artifacts:
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 o feed e defina sua Visibilidade para definir quem pode exibir pacotes no feed. Defina o escopo do feed e marque a caixa de seleção Fontes upstream se quiser incluir pacotes de fontes públicas.
Selecione Criar quando terminar.
Entre na sua coleção do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione Criar Feed.
Forneça um nome descritivo para o feed e defina sua Visibilidade para definir quem pode exibir pacotes no feed. Defina o Escopo do feed e marque a caixa de seleção Fontes upstream se quiser incluir pacotes de fontes públicas.
Selecione Criar quando terminar.
Preparar seu pacote
Neste exemplo, você usará uma biblioteca de classes do .NET Core de exemplo e configurará os metadados do pacote antes de compilar o projeto e criar um pacote NuGet pronto para publicação no feed. Se você ainda não tiver um projeto, siga as instruções neste guia para criar uma biblioteca de classes do .NET usando o Visual Studio Code.
Abra seu projeto no Visual Studio Code e selecione o arquivo csproj . Adicione os metadados do pacote dentro da tag
<PropertyGroup>. Seu arquivo deve ser semelhante ao 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 no diretório do projeto para criar seu projeto e criar um pacote .nupkg . Seu pacote estará na
bin\releasepasta.dotnet pack
Configurar o provedor de credenciais Azure Artifacts
Para autenticar com o feed, primeiro você deve instalar o provedor de credenciais Azure Artifacts. Usando o instalador de ferramentas incluído no dotnet, você pode instalar o provedor de credenciais da CLI usando o seguinte comando:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Se o nuget.config no nível do repositório estiver configurado para usar apenas fontes do Azure Artifacts, execute o comando de instalação fora desse diretório ou defina explicitamente nuget.org como a origem:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
Opcionalmente, fixe a ferramenta em uma versão principal específica (por exemplo, em imagens de contêiner em que a reprodutibilidade é importante):
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json
Primeiro uso
Na primeira vez que você executar uma operação que exija autenticação, use uma das seguintes abordagens:
- Execute o comando com
--interactivepara quedotnetpossa solicitar que você faça login. Essa é a abordagem recomendada para a maioria dos cenários de desenvolvimento local.
Antes de executar um comando interativo, verifique se o projeto está configurado e se o feed é adicionado ao nuget.config. Para obter detalhes da instalação, consulte a configuração do projeto.
Depois que o projeto estiver configurado e conectado ao feed, navegue até o diretório do projeto e execute:
dotnet restore --interactive
Esse comando o inscreve e adquire um token de sessão. Após fazer login com sucesso, você poderá executar comandos autenticados sem --interactive enquanto o token de sessão em cache permanecer válido. Para obter mais informações, consulte Session token cache locations.
- Para cenários não interativos, como contêineres do Docker e automação personalizada, forneça credenciais por meio de variáveis environment.
Para Azure Pipelines, use a tarefa NuGetAuthenticate@1 para autenticar no feed antes de executar comandos como dotnet restore ou dotnet nuget push. Consulte Restaurar pacotes NuGet com o Azure Pipelines para obter mais detalhes.
Conectar-se a um feed
Siga as etapas abaixo para configurar seu projeto e conectar-se ao feed do Azure Artifacts. Verifique se você instalou o provedor de credenciais do Azure Artifacts e a versão mais recente do NuGet, conforme descrito nos pré-requisitos.
Entre na sua organização do Azure DevOps e navegue até seu projeto.
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 arquivo deve ser semelhante a uma das seguintes:
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 com 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 seu 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 de instalação do Project para configurar seu arquivo denuget.config .
Publicar seu pacote
Execute o comando a seguir no diretório do projeto para publicar o pacote no feed do Azure Artifacts. O --api-key parâmetro é necessário, mas você pode usar qualquer valor de cadeia de caracteres ao publicar no Azure Artifacts.
dotnet nuget push --source <FEED_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>