Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
Os Artefatos do Azure permitem que os desenvolvedores gerenciem pacotes de várias fontes, incluindo registros públicos, como feeds npmjs.com e privados. Para autenticar com o Azure Artifacts, você precisa configurar seu arquivo de configuração npmrc . Esse arquivo armazena URLs de feed e credenciais usadas pelo npm e permite personalizar o comportamento do cliente, como configurar proxies, definir locais de pacotes padrão ou configurar o acesso a feeds privados. O arquivo npmrc normalmente está localizado no diretório inicial do usuário, mas também pode ser criado no nível do projeto para substituir as configurações padrão.
Pré-requisitos
Conectar-se a um feed
O Azure Artifacts recomenda o uso de dois arquivos de configuração .npmrc separados. Um deve ser armazenado localmente para guardar as suas credenciais, enquanto o outro deve ser adicionado ao diretório do projeto junto ao package.json para definir a URL do feed. Essa abordagem permite que você compartilhe sua configuração no nível do projeto sem expor informações confidenciais.
Para configurar o arquivo de credenciais, crie ou atualize o arquivo .npmrc e inclua todas as credenciais de registro necessárias. Isso permite que o cliente npm acesse facilmente suas credenciais para autenticação.
As etapas a seguir o orientam na configuração do arquivo de configuração no nível do projeto. Selecione a guia que corresponde ao seu ambiente de desenvolvimento:
Observação
vsts-npm-auth não tem suporte no Servidor de DevOps do Azure.
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefactos e, em seguida, selecione o seu feed no menu suspenso.
Selecione Conectar ao Feed e, em seguida, selecione npm no painel de navegação esquerdo.
Adicione um .npmrc ao seu projeto, no mesmo diretório do seu package.json e cole o trecho fornecido da seção Configuração do projeto no arquivo.
Execute o seguinte comando para obter um token de Artefatos do Azure adicionado ao seu arquivo .npmrc de nível de usuário. Você não precisa executar isso toda vez — o npm retornará um erro 401 Não autorizado na hora de atualizar o token.
vsts-npm-auth -config .npmrc
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefactos e, em seguida, selecione o seu feed no menu suspenso.
Selecione Conectar ao Feed e, em seguida, selecione npm no painel de navegação esquerdo.
Adicione um arquivo .npmrc ao diretório do seu projeto. Este deve ser o mesmo diretório onde o arquivo package.json está localizado.
Cole o trecho fornecido na seção Configuração do projeto no arquivo .npmrc . Seu arquivo deve ser semelhante ao seguinte:
registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Credenciais de configuração
Copie o seguinte trecho e cole-o no seu ficheiro de npmrc nível de utilizador:
Feed de âmbito organizacional:
; begin auth token
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:username=[ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Feed de âmbito de projeto:
; begin auth token
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Gere um token de acesso pessoal com permissões de leitura e escritura para pacotes .
Execute o seguinte comando em uma janela de prompt de comando. Quando solicitado, cole seu token de acesso pessoal (PAT) e pressione Enter. O script retornará uma versão codificada em Base64 do seu PAT, copie esse valor para usar na próxima etapa.
node -e "require('readline') .createInterface({input:process.stdin,output:process.stdout,historySize:0}) .question('PAT> ',p => { b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit(); })"
Observação
Em julho de 2024, os Tokens de Acesso Pessoal (PATs) do Azure DevOps tinham 82 caracteres. Algumas ferramentas podem inserir quebras de linha automáticas ao codificar tokens para Base64. Para evitar isso, use o sinalizador -w0 com o comando base64 para garantir que a saída permaneça em uma única linha.
Neste tutorial, usamos o método Buffer do Node, que produz uma cadeia de caracteres Base64 de linha única por padrão.
Se você estiver usando Linux ou macOS, você pode executar o seguinte comando em seu terminal para converter seu token de acesso pessoal (PAT) em uma cadeia de caracteres codificada em Base64. Copie o valor resultante para usar na próxima etapa.
echo -n "YOUR_PERSONAL_ACCESS-TOKEN" | base64 -w0
Substitua os marcadores [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] no seu ficheiro npmrc de nível de utilizador pelo token de acesso pessoal codificado em Base64 que gerou na etapa anterior.
Entre em sua coleção de DevOps do Azure e navegue até seu projeto.
Selecione Artefactos, selecione o feed no menu pendente e, em seguida, selecione Ligar ao Feed.
Selecione npm à esquerda e siga as etapas na seção Configuração do projeto para configurar seu arquivo npmrc e autenticar com seu feed.
Entre em sua coleção de DevOps do Azure e navegue até seu projeto.
Selecione Artefactos e, em seguida, selecione o seu feed no menu suspenso.
Selecione Conectar ao Feed e, em seguida, selecione npm no painel de navegação esquerdo.
Adicione um arquivo .npmrc no diretório do projeto, no mesmo diretório do arquivo package.json , e cole o trecho fornecido na seção Configuração do projeto no arquivo npmrc . Seu arquivo deve ser semelhante ao seguinte:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Credenciais de configuração
Copie o seguinte trecho e cole-o no seu ficheiro de nível de utilizador .npmrc:
Feed com âmbito de coleção:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Feed de âmbito de projeto:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Gere um token de acesso pessoal com permissões de leitura e escritura para pacotes .
Execute o seguinte comando em uma janela de prompt de comando. Quando solicitado, cole seu token de acesso pessoal e pressione Enter. O script retornará uma versão codificada em Base64 do seu PAT, copie esse valor para usar na próxima etapa.
node -e "require('readline') .createInterface({input:process.stdin,output:process.stdout,historySize:0}) .question('PAT> ',p => { b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit(); })"
Observação
Em julho de 2024, os Tokens de Acesso Pessoal (PATs) do Azure DevOps tinham 82 caracteres. Algumas ferramentas podem inserir quebras de linha automáticas ao codificar tokens para Base64. Para evitar isso, use o sinalizador -w0 com o comando base64 para garantir que a saída permaneça em uma única linha.
Neste tutorial, usamos o método Buffer do Node, que produz uma cadeia de caracteres Base64 de linha única por padrão.
Substitua os espaços reservados [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] no arquivo .npmrc de nível de usuário pelo token de acesso pessoal codificado em Base64 gerado na etapa anterior.
Conteúdo relacionado