Armazenar pacotes Node.js no Artifact Registry
Neste guia de início rápido, mostramos como configurar um repositório de pacotes Node.js privado do Artifact Registry e fazer upload de um pacote para ele.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init - Instale o PowerShell se quiser se conectar a um repositório de pacotes Node.js pelo Windows.
Acesse o console do Google Cloud .
Na barra de ferramentas do console Google Cloud , clique em Ativar o Cloud Shell:

Crie o repositório.
Console
Abra a página Repositórios no console do Google Cloud .
Clique em Criar repositório.
Especifique
quickstart-nodejs-repocomo o nome do repositório.Escolha npm como o formato e Standard como o modo.
Em Tipo de local, selecione Região e escolha o local
us-central1.Clique em Criar.
O repositório é adicionado à lista de repositórios
gcloud
Execute o comando a seguir para criar um repositório de pacotes Node.js chamado
quickstart-nodejs-repono localus-central1com a descrição "repositório Node.js".gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \ --location=us-central1 --description="Node.js package repository"Execute o seguinte comando para verificar se o repositório foi criado.
gcloud artifacts repositories list
Para mais informações sobre os comandos do Artifact Registry, execute o comando
gcloud artifacts.Para simplificar os comandos
gcloud, defina o repositório padrão comoquickstart-nodejs-repoe o local padrão comous-central1. Depois que os valores forem definidos, não será necessário especificá-los nos comandosgcloudque exigem um repositório ou local.Para definir o repositório, execute o comando:
gcloud config set artifacts/repository quickstart-nodejs-repoPara definir o local, execute o comando:
gcloud config set artifacts/location us-central1Saiba mais sobre esses comandos na documentação do gcloud config set.
Faça o download do pacote emoji-regex, um pacote simples que fornece uma expressão regular para corresponder a todos os símbolos e sequências de emojis.
npm pack emoji-regexO comando faz o download de um arquivo do pacote.
Extraia o arquivo em um diretório
emoji-regex. O comando a seguir é para um arquivo da versão 10.1.0 doemoji-regex:mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1Crie um segundo pacote npm que você vai usar para instalar o pacote
emoji-regexdo Artifact Registry. Para esse pacote, use o comandonpm initpara criar um pacote básico.mkdir npm-package2 cd npm-package2 npm init -yQuando solicitado, aceite os valores padrão.
Configure os projetos
emoji-regexenpm-package2para autenticar com o repositório do Artifact Registry que você criou.Execute o comando a seguir. O comando retorna definições de configuração para adicionar ao arquivo de configuração do npm.
gcloud artifacts print-settings npm --scope=@quickstartO escopo
quickstartestá associado ao repositório. Quando você inclui o escopo nos comandos para publicar ou instalar pacotes, o npm usa seu repositório. Quando você publica ou instala pacotes sem um escopo, o repositório padrão configurado é usado. Para mais informações, consulte a visão geral do Node.js.A saída do comando
gcloudé semelhante ao exemplo a seguir. PROJECT é o ID do projeto Google Cloud .@quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/ //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=trueAdicione as definições de configuração da etapa anterior ao arquivo
.npmrcdo projeto em cada projeto npm. O arquivo no mesmo diretório que o arquivopackage.json.Para saber mais sobre o arquivo
.npmrc, consulte a visão geral do Node.js.Cada repositório de pacotes Node.js do Artifact Registry está associado a um endpoint de registro do npm
https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Se você criar outro repositório de pacotes Node.js do Artifact Registry, o npm vai interagir com ele como um registro separado com o próprio escopo.
Edite
package.jsonnos projetosemoji-regexenpm-package2.Verifique se o valor de
nameinclui o escopoquickstart.- Para obter
emoji-regex:
"name": "@quickstart/emoji-regex"- Para obter
npm-package2:
"name": "@quickstart/npm-package2"- Para obter
Em
scripts, adicione um script para google-artifactregistry-auth, uma biblioteca de cliente que atualiza as credenciais dos repositórios do Artifact Registry."scripts": { "artifactregistry-login": "npx google-artifactregistry-auth --repo-config=./.npmrc --credential-config=./.npmrc" }
Atualize o token de acesso para se conectar ao repositório.
npm run artifactregistry-loginAdicione o pacote ao repositório. Use um comando
npmouyarn.npm publishyarn publishAbra a página Repositórios no console do Google Cloud .
Na lista de repositórios, selecione o repositório
quickstart-nodejs-repo.A página Pacotes lista os pacotes no repositório.
Clique em um pacote para ver as versões dele.
Abra a página Repositórios no console do Google Cloud .
Na lista de repositórios, selecione o repositório
quickstart-nodejs-repo.Clique em Excluir.
Para excluir o repositório
quickstart-nodejs-repo, execute o seguinte comando:gcloud artifacts repositories delete quickstart-nodejs-repoSe você quiser remover as configurações padrão de repositório e localização que definiu para a configuração ativa
gcloud, execute os seguintes comandos:gcloud config unset artifacts/repository gcloud config unset artifacts/location- Saiba mais sobre como configurar a autenticação
- Saiba mais sobre como gerenciar repositórios
- Saiba mais sobre como gerenciar pacotes
- Leia nossos recursos sobre DevOps e conheça nosso programa de pesquisa.
Iniciar o Cloud Shell
Neste guia de início rápido, você vai usar o Cloud Shell, um ambiente shell para gerenciar recursos hospedados noGoogle Cloud.
O Cloud Shell vem pré-instalado com a Google Cloud CLI. A CLI gcloud fornece a principal interface de linha de comando para Google Cloud.
Inicie o Cloud Shell
Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console.
Use esse shell para executar comandos gcloud.
Criar um repositório de pacotes do Node.js
Crie o repositório para seus artefatos do Node.js.
Configurar NPM
Para fazer upload e download de pacotes, configure seus projetos npm com definições para autenticar com o repositório criado. Neste guia de início rápido, você vai fazer upload de um pacote simples e instalá-lo em um segundo pacote como uma dependência.
Fazer upload de um pacote para o repositório
Ver o pacote no repositório
Para verificar se o pacote foi adicionado ao repositório:
Console
gcloud
Para listar as imagens no repositório padrão quickstart-nodejs-repo, execute o seguinte comando:
gcloud artifacts packages list
Para ver as versões de um pacote, execute o seguinte comando:
gcloud artifacts versions list --package=PACKAGE
Em que PACKAGE é o ID do pacote.
Como instalar pacotes
Instale o pacote emoji-regex do repositório do Artifact Registry
em npm-package2.
No diretório npm-package2, execute o comando npm install ou yarn add:
npm install @quickstart/emoji-regex
yarn add @quickstart/emoji-regex
O comando instala o pacote emoji-regex no projeto npm-package2.
Ele também atualiza package.json para definir emoji-regex como uma dependência.
"dependencies": {
"@quickstart/emoji-regex": "^10.1.0"
}
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.
Antes de remover um repositório, verifique se os pacotes que você quer manter estão disponíveis em outro local.
Para excluir o repositório: