Armazene pacotes Node.js no Artifact Registry

Este início rápido mostra como configurar um repositório de pacotes Node.js do Artifact Registry privado e carregar um pacote para o mesmo.

Antes de começar

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. Install the Google Cloud CLI.

  6. Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  7. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Artifact Registry API.

    Enable the API

  11. Install the Google Cloud CLI.

  12. Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  13. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  14. Instale o PowerShell se quiser estabelecer ligação a um repositório de pacotes Node.js a partir do Windows.
  15. Inicie o Cloud Shell

    Neste início rápido, vai usar a Cloud Shell, que é um ambiente de shell para gerir recursos alojados no Google Cloud.

    O Cloud Shell vem pré-instalado com a CLI do Google Cloud. A CLI gcloud fornece a interface de linhas de comando principal para Google Cloud.

    Inicie o Cloud Shell:

    1. Aceda à Google Cloud consola.

      Google Cloud consola

    2. Na Google Cloud barra de ferramentas da consola, clique em Ativar Cloud Shell:

    É aberta uma sessão do Cloud Shell num frame na parte inferior da consola. Use esta shell para executar comandos gcloud.

    Crie um repositório de pacotes Node.js

    Crie o repositório para os seus artefactos do Node.js.

    1. Crie o repositório.

      Consola

      1. Abra a página Repositórios na Google Cloud consola.

        Abra a página Repositórios

      2. Clique em Criar repositório.

      3. Especifique quickstart-nodejs-repo como o nome do repositório.

      4. Escolha npm como formato e Padrão como modo.

      5. Em Tipo de localização, selecione Região e, de seguida, escolha a localização us-central1.

      6. Clique em Criar.

      O repositório é adicionado à lista de repositórios

      gcloud

      1. Execute o seguinte comando para criar um novo repositório de pacotes Node.js denominado quickstart-nodejs-repo na localização us-central1 com 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"
        
      2. 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.

    2. Para simplificar os comandos gcloud, defina o repositório predefinido como quickstart-nodejs-repo e a localização predefinida como us-central1. Depois de definir os valores, não precisa de os especificar em gcloud comandos que requerem um repositório ou uma localização.

      Para definir o repositório, execute o comando:

      gcloud config set artifacts/repository quickstart-nodejs-repo
      

      Para definir a localização, execute o comando:

      gcloud config set artifacts/location us-central1
      

      Para mais informações sobre estes comandos, consulte a documentação gcloud config set.

    Configure o npm

    Para carregar e transferir pacotes, tem de configurar os seus projetos npm com definições para autenticar com o repositório que criou. Para este início rápido, vai carregar um pacote simples e, em seguida, instalá-lo num segundo pacote como uma dependência.

    1. Transfira o 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-regex
      

      O comando transfere um arquivo do pacote.

    2. Extraia o arquivo para um diretório emoji-regex. O seguinte comando destina-se a um arquivo da versão 10.1.0:emoji-regex

      mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
      
    3. Crie um segundo pacote npm que vai usar para instalar o pacote do Artifact Registry.emoji-regex Para este pacote, use o comando npm init para criar um pacote básico.

      mkdir npm-package2
      cd npm-package2
      
      npm init -y
      

      Quando lhe for pedido, aceite os valores predefinidos.

    4. Configure os projetos emoji-regex e npm-package2 para autenticar com o repositório do Artifact Registry que criou.

      1. Execute o seguinte comando. O comando devolve as definições de configuração a adicionar ao seu ficheiro de configuração do npm.

        gcloud artifacts print-settings npm --scope=@quickstart
        

        O quickstart âmbito está associado ao seu repositório. Quando inclui o âmbito em comandos para publicar ou instalar pacotes, o npm usa o seu repositório. Quando publica ou instala pacotes sem um âmbito, é usado o repositório predefinido configurado. Para mais informações, consulte a vista geral do Node.js.

        O resultado do comando gcloud tem o seguinte aspeto. PROJECT é o ID do seu Google Cloud projeto.

        @quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/
        //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=true
        
      2. Adicione as definições de configuração do passo anterior ao ficheiro .npmrc do projeto em cada projeto npm. O ficheiro no mesmo diretório que o ficheiro package.json.

        Para saber mais sobre o ficheiro .npmrc, consulte a vista geral do Node.js.

        Cada repositório de pacotes do Node.js do Artifact Registry está associado a um ponto final do registo npm https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Se criar outro repositório de pacotes do Node.js do Artifact Registry, o npm interage com ele como um registo separado com o seu próprio âmbito.

    5. Edite package.json nos projetos emoji-regex e npm-package2.

      1. Certifique-se de que o valor de name inclui o âmbito quickstart.

        • Para emoji-regex:
        "name": "@quickstart/emoji-regex"
        
        • Para npm-package2:
        "name": "@quickstart/npm-package2"
        
      2. 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"
        }
        

    Carregue um pacote para o repositório

    1. Atualize a chave de acesso para estabelecer ligação ao repositório.

      npm run artifactregistry-login
      
    2. Adicione o seu pacote ao repositório. Pode usar um comando npm ou yarn.

      npm publish
      
      yarn publish
      

    Veja o pacote no repositório

    Para verificar se o pacote foi adicionado ao repositório:

    Consola

    1. Abra a página Repositórios na Google Cloud consola.

      Abra a página Repositórios

    2. Na lista de repositórios, clique no repositório quickstart-nodejs-repo.

      A página Pacotes apresenta os pacotes no repositório.

    3. Clique num pacote para ver as versões do pacote.

    gcloud

    Para apresentar uma lista das imagens no repositório quickstart-nodejs-repo predefinido, 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
    

    Onde PACKAGE é o ID do pacote.

    Instalar pacotes

    Instale o pacote emoji-regex a partir 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. Também atualiza package.json para definir emoji-regex como uma dependência.

    "dependencies": {
      "@quickstart/emoji-regex": "^10.1.0"
    }
    

    Limpar

    Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

    Antes de remover um repositório, certifique-se de que todos os pacotes que quer manter estão disponíveis noutra localização.

    Para eliminar o repositório:

    Consola

    1. Abra a página Repositórios na Google Cloud consola.

      Abra a página Repositórios

    2. Na lista de repositórios, selecione o repositório quickstart-nodejs-repo.

    3. Clique em Eliminar.

    gcloud

    1. Para eliminar o repositório quickstart-nodejs-repo, execute o seguinte comando:

      gcloud artifacts repositories delete quickstart-nodejs-repo
      
    2. Se quiser remover as predefinições do repositório e da localização que configurou para a configuração gcloud ativa, execute os seguintes comandos:

      gcloud config unset artifacts/repository
      gcloud config unset artifacts/location
      

    O que se segue?