Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
O Artefactos do Azure utiliza o ficheiro de configuração .npmrc para autenticar clientes npm com feeds. A configuração recomendada mantém a configuração do feed e as credenciais em dois ficheiros .npmrc separados: um ficheiro ao nível do projeto (registado juntamente com o seu package.json) que armazena o URL do feed, e um ficheiro ao nível do utilizador (nunca confirmado) que armazena as suas credenciais.
Pré-requisitos
|
Produto |
Requisitos |
|
Azure DevOps |
- Uma organização Azure DevOps . - Um projeto do Azure DevOps . - Um feed de Artefatos do Azure . - Descarregar Node.js e npm. |
Conectar-se a um feed
Selecione o separador que corresponda ao seu sistema operativo e siga os passos para configurar os seus ficheiros .npmrc :
Observação
vsts-npm-auth não tem suporte no Servidor de DevOps do Azure.
Inicie sessão na sua organização do Azure DevOps e, em seguida, aceda ao seu projeto.
Selecione Artefactos e, em seguida, selecione o seu feed no menu suspenso.
Seleciona Ligar ao feed e depois seleciona npm no painel de navegação esquerdo.
Se não instalaste vsts-npm-auth, executa o seguinte comando:
npm install -g vsts-npm-auth --registry https://registry.npmjs.com --always-auth false
Adiciona um ficheiro .npmrc ao teu projeto no mesmo diretório que o teu package.json, e depois cola o fragmento da secção Configuração do projeto no ficheiro.
Execute o seguinte comando para adicionar um token ao seu ficheiro .npmrc ao nível do utilizador. O npm devolve um erro 401 Não autorizado quando o token expira — execute este comando novamente para o atualizar.
vsts-npm-auth -config .npmrc
Inicie sessão na sua organização do Azure DevOps e, em seguida, aceda ao seu projeto.
Selecione Artefactos e, em seguida, selecione o seu feed no menu suspenso.
Seleciona Ligar ao feed e depois seleciona npm no painel de navegação esquerdo.
Adiciona um ficheiro .npmrc ao teu projeto no mesmo diretório que o teu package.json, e depois cola no ficheiro o excerto da secção Configuração do projeto. Seu arquivo deve ser semelhante ao seguinte:
registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
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=[ENTER_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 a permissão Packaging>.
Base64-codifica o teu PAT usando um dos seguintes métodos:
Node.js (todas as plataformas): Execute o seguinte comando, introduza o seu PAT quando solicitado e copie o valor resultante.
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(); })"
macOS ou Linux: Execute o comando seguinte e copie a saída.
echo -n "YOUR_PERSONAL_ACCESS_TOKEN" | base64
Substitua os [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] marcadores no seu ficheiro .npmrc ao nível do utilizador pelo valor codificado.
Inicia sessão na tua coleção Azure DevOps e depois vai ao teu projeto.
Selecione Artefatos, selecione seu feed no menu suspenso e, em seguida, selecione Conectar ao feed.
Selecione npm e depois siga os passos na secção de configuração do Project para configurar o seu ficheiro .npmrc e autenticar com o seu feed.
Inicia sessão na tua coleção Azure DevOps e depois vai ao teu projeto.
Selecione Artefactos e, em seguida, selecione o seu feed no menu suspenso.
Seleciona Ligar ao feed e depois seleciona npm no painel de navegação esquerdo.
Adiciona ao teu projeto um ficheiro .npmrc no mesmo diretório que o teu package.json, e depois cola no ficheiro o trecho da secção Configuração do projeto. Seu arquivo deve ser semelhante ao seguinte:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
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 o âmbito Pacotes>.
Execute o comando seguinte, introduza o seu PAT quando solicitado e depois copie o valor resultante codificado em Base64.
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(); })"
Substitua os [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] marcadores de posição no seu ficheiro .npmrc de utilizador pelo valor codificado.
Conteúdo relacionado