Armazenar outros formatos no Artifact Registry

Saiba como configurar um repositório de formato genérico do Artifact Registry e fazer upload de um arquivo YAML.

Antes de começar

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  9. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Funções exigidas

Para receber as permissões necessárias para criar e gerenciar repositórios de pacotes do Artifact Registry, peça ao administrador para conceder a você o papel do IAM de Administrador do Artifact Registry (roles/artifactregistry.admin) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Iniciar o Cloud Shell

No console do Google Cloud , ative o Cloud Shell.

Ativar o Cloud Shell

Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

Neste guia de início rápido, você vai usar o Cloud Shell para executar comandos gcloud.

Criar um repositório genérico

  1. Para criar um repositório de formato genérico chamado quickstart-generic-repo no local us-central1 com a descrição Generic repository, execute o seguinte comando:

    gcloud artifacts repositories create quickstart-generic-repo \
        --repository-format=generic \
        --location=us-central1 \
        --description="Generic repository"
    
  2. Para verificar se o repositório foi criado, execute o seguinte comando:

    gcloud artifacts repositories list
    
  3. Para simplificar os comandos gcloud, execute os comandos a seguir para definir o repositório padrão como quickstart-generic-repo e o local padrão como us-central1.

    1. Para definir o repositório padrão como quickstart-generic-repo, execute o seguinte comando:

      gcloud config set artifacts/repository quickstart-generic-repo
      
    2. Para definir o local padrão como us-central1, execute o seguinte comando:

      gcloud config set artifacts/location us-central1
      

    Depois que os valores forem definidos, não será necessário especificá-los nos comandos gcloud que exigem um repositório ou local.

Fazer upload de um artefato para o repositório

  1. No diretório inicial, crie um arquivo para fazer upload no repositório:

    echo "hello world" > hello.yaml
    
  2. Para fazer upload do arquivo como um artefato para o repositório, execute o seguinte comando:

    gcloud artifacts generic upload \
        --source=hello.yaml \
        --package=my-package \
        --version=1.0.0
    

    Em que:

    • hello.yaml é o caminho do arquivo para upload;
    • my-package é o pacote para upload.
    • 1.0.0 é a versão do artefato. Não é possível substituir uma versão existente no repositório.

Ver artefatos no repositório

Para verificar se o artefato foi adicionado ao repositório, liste todos os artefatos executando o seguinte comando:

gcloud artifacts files list

A resposta inclui os detalhes do arquivo no formato PACKAGE:VERSION:FILE_NAME.

No exemplo a seguir, hello.yaml é o FILE_NAME:

FILE: my-package:1.0.0:hello.yaml
CREATE_TIME: 2023-03-09T20:55:07
UPDATE_TIME: 2023-03-09T20:55:07
SIZE (MB): 0.000
OWNER: projects/my-project/locations/us-central1/repositories/quickstart-generic-repo/packages/my-package/versions/1.0.0

Baixar um artefato genérico

Para fazer o download de um artefato genérico do repositório, execute o seguinte comando:

gcloud artifacts generic download \
    --name=hello.yaml \
    --package=my-package \
    --version=1.0.0 \
    --destination=DESTINATION

Em que:

  • hello.yaml é o nome do arquivo a ser baixado.
  • my-package é o pacote a ser baixado.
  • 1.0.0 é a versão do artefato.

Substitua DESTINATION pelo diretório no sistema de arquivos local em que você quer salvar o download. A pasta de destino precisa existir ou o comando vai falhar.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua o repositório.

Excluir o projeto

    Excluir um projeto do Google Cloud :

    gcloud projects delete PROJECT_ID

Excluir o repositório

Antes de remover um repositório, verifique se os pacotes que você quer manter estão disponíveis em outro local.

  1. Para excluir o repositório quickstart-generic-repo, execute o seguinte comando:

    gcloud artifacts repositories delete quickstart-generic-repo
    
  2. Se 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
    

A seguir