Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
O uso de fontes upstream no Azure Artifacts permite que você gerencie todas as dependências do aplicativo de um único feed. Simplifica o consumo de pacotes de registros públicos, como NuGet.org ou npmjs.com, ao mesmo tempo em que fornece proteção contra interrupções ou pacotes comprometidos. Você também pode publicar seus próprios pacotes no mesmo feed e gerenciar todas as suas dependências em um único local.
Este tutorial explica como habilitar fontes upstream em seu feed e consumir pacotes de registros públicos, como NuGet.org ou npmjs.com.
Pré-requisitos
Criar um feed e habilitar fontes de origem
Entre na sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione Criar Feed para criar um novo feed.
Forneça um Nome para o seu feed, escolha sua Visibilidade e Escopo, e certifique-se de marcar a caixa de seleção Incluir pacotes de fontes públicas comuns para habilitar fontes upstream.
Selecione Criar quando terminar.
Importante
Para adicionar um feed de uma organização diferente como uma origem upstream, o proprietário do feed de destino deve compartilhar a exibição de destino com Todos os feeds e pessoas em organizações associadas ao meu locatário do Microsoft Entra navegando até Configurações do feed>Exibições>. Selecione o botão de reticências à direita para a exibição especificada >Editar.
Faça a autenticação com o feed
Agora que você criou o feed, selecione a guia apropriada com base na tecnologia que está usando e siga as instruções para configurar o arquivo de configuração e conectar-se ao feed:
Entre na sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos, selecione o feed no menu suspenso e, em seguida, selecione Conectar ao feed.
Selecione npm no painel de navegação esquerdo e siga as instruções fornecidas na seção de instalação do Projeto para configurar o arquivo de configuração. Se você ainda não tiver um arquivo .npmrc , crie um na raiz do projeto (a mesma pasta que o package.json). Abra seu novo arquivo .npmrc e cole no snippet fornecido.
Entre na sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos, selecione o feed no menu suspenso e, em seguida, selecione Conectar ao feed.
Selecione NuGet.exe no painel de navegação esquerdo e copie o snippet de código XML fornecido na seção Instalação do Projeto .
Crie um novo arquivo nuget.config na raiz do projeto e cole o snippet XML copiado na etapa anterior.
Entre na sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos, selecione o feed no menu suspenso e, em seguida, selecione Conectar ao feed.
Selecione pip no painel de navegação esquerdo.
Crie um ambiente virtual, caso ainda não tenha feito isso.
Adicione um arquivo pip.ini (Windows) ou pip.conf (Mac/Linux) ao virtualenv e cole o snippet fornecido na seção de instalação do Project .
Entre na sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos, selecione o feed no menu suspenso e, em seguida, selecione Conectar ao feed.
Selecione Maven no painel de navegação esquerdo.
Adicione o snippet fornecido na seção configuração do projeto às <repositories> e <distributionManagement> seções em seu pom.xml. Seu arquivo deve ser semelhante ao seguinte:
<repository>
<id>[FEED-NAME]</id>
<url>https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
Cole o trecho fornecido <server> em seu arquivo settings.xml . O arquivo deve ser semelhante a este:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Crie um token de acesso pessoal com escopos de empacotamento>leitura e escrita e cole seu token de acesso pessoal na <password> tag em seu arquivo settings.xml.
Entre na sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos, selecione o feed no menu suspenso e, em seguida, selecione Conectar ao feed.
Selecione Gradle no painel de navegação esquerdo.
Adicione o snippet fornecido na seção de configuração do projeto às seções de repositórios e de publicação no arquivo build.gradle. Seu arquivo deve ser semelhante ao seguinte:
maven {
url 'https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1'
name '[FEED-NAME]'
authentication {
basic(BasicAuthentication)
}
}
Cole o trecho fornecido <server> em seu arquivo settings.xml . Seu arquivo deve ser semelhante ao seguinte:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Crie um token de acesso pessoal com os escopos de Empacotamento>Leitura & gravação. Cole seu token de acesso pessoal na tag <password> no arquivo settings.xml.
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos, selecione o feed no menu suspenso e, em seguida, selecione Conectar ao feed.
Selecione Cargo no painel de navegação esquerdo.
Adicione o snippet fornecido na seção de instalação do Project ao arquivo cargo/config.toml no repositório de origem. O arquivo config.toml deve ser semelhante ao seguinte:
[registries]
FEED_NAME = { index = "sparse+https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/Cargo/index/" }
```
Adicione o segundo snippet fornecido na seção configuração do projeto ao arquivo cargo/config.toml para substituir a origem crates.io pelo seu feed. Seu arquivo deve ser semelhante ao seguinte:
[source.crates-io]
replace-with = "FEED_NAME"
Configurar um provedor de credenciais
Fazer logon no Registro
Restaurar pacotes
Agora que você habilitou fontes upstream e se autenticou no seu feed, selecione a guia apropriada com base no tipo de pacote e siga as instruções para restaurar pacotes de registros públicos para o seu feed do Azure Artifacts.
Remova a pasta node_modules do projeto.
Abra uma janela do prompt de comando e execute o comando a seguir para restaurar seus pacotes. Depois de concluído, o feed deve ter uma cópia salva de todos os pacotes instalados do upstream.
npm install --force
Observação
O --force sinalizador garante que os pacotes sejam retirados da origem remota mesmo que exista uma cópia local.
Limpe o cache local.
nuget locals -clear all
Abra uma janela do prompt de comando e execute o comando a seguir para restaurar seus pacotes. Depois de concluído, o feed deve ter uma cópia salva de todos os pacotes instalados do upstream.
nuget.exe restore
Conteúdo relacionado