Armazene pacotes Apt no Artifact Registry

Neste guia de início rápido, mostramos como configurar um repositório particular do Artifact Registry apt, adicionar um pacote Debian ao repositório e instalar o pacote em uma VM do Compute Engine que executa um sistema operacional baseado em Debian.

Para executar as etapas neste guia de início rápido, use o Cloud Shell e o shell na VM criada.

Para saber mais sobre como gerenciar pacotes do Debian, consulte Como trabalhar com pacotes do Debian.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, 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. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative a API Artifact Registry.

    Ative a API

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative a API Artifact Registry.

    Ative a API

Iniciar o Cloud Shell

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

Inicie o Cloud Shell:

  1. Acesse o Console do Google Cloud.

    Console do Google Cloud

  2. Na barra de ferramentas do console do Google Cloud, clique em Ativar o Cloud Shell:

Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console. Você usará esse shell na execução dos comandos gcloud para criar uma VM e um repositório.

Criar um repositório

Crie o repositório para seus artefatos.

  1. Crie o repositório:

    Console

    1. Abra a página Repositórios no console do Google Cloud.

      Abrir a página Repositórios

    2. Clique em Criar repositório.

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

    4. Selecione Apt como o formato.

    5. Em Tipo de local, selecione Região e escolha o local us-central1.

    6. Clique em Criar.

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

    gcloud

    1. No Cloud Shell, execute o seguinte comando para criar um novo repositório Apt no projeto atual chamado quickstart-apt-repo no local us-central1.

      gcloud artifacts repositories create quickstart-apt-repo \
          --repository-format=apt \
          --location=us-central1 \
          --description="Apt repository"
      
    2. Execute o seguinte comando para verificar se o repositório foi criado:

      gcloud artifacts repositories list
      

Agora é possível adicionar um pacote ao repositório.

Adicionar um pacote ao repositório

É possível fazer upload de um pacote para um repositório usando a Google Cloud CLI ou importar um pacote armazenado no Cloud Storage. Se você criar pacotes usando o Cloud Build, o build poderá armazenar os pacotes no Cloud Storage para importação.

Para este guia de início rápido, faça o upload de um arquivo de amostra usando o comando gcloud artifacts apt upload.

  1. No Cloud Shell, faça o download da planilha de referência rápida do Apt com o comando:

    apt download apt-dpkg-ref
    

    O apt faz o download da versão mais recente do pacote disponível nos seus repositórios configurados.

    Get:1 http://deb.debian.org/debian buster/main amd64 apt-dpkg-ref all 5.3.1+nmu2 [113 kB]
    Fetched 113 kB in 0s (428 kB/s)
    

    Execute ls para saber o nome do arquivo da planilha de referência rápida do Apt. O nome do arquivo é semelhante a apt-dpkg-ref_5.3.1+nmu2_all.deb.

  2. Para simplificar os comandos gcloud, defina o repositório padrão como quickstart-apt-repo e o local padrão como 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.

    Para definir o repositório, execute o comando:

    gcloud config set artifacts/repository quickstart-apt-repo
    

    Para definir o local, execute o comando:

    gcloud config set artifacts/location us-central1
    

    Saiba mais sobre esses comandos na documentação do gcloud config set.

  3. Execute gcloud artifacts apt upload para fazer upload do pacote para o repositório:

    gcloud artifacts apt upload quickstart-apt-repo \
        --source=FILE_NAME
    

    Substitua FILE_NAME pelo caminho para a página de referência rápida do Apt.

Ver o pacote no repositório

Verifique se o pacote foi adicionado ao repositório.

Console

  1. Abra a página Repositórios no console do Google Cloud.

    Abrir a página Repositórios

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

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

gcloud

Para listar os pacotes no repositório quickstart-apt-repo, execute o comando:

 gcloud artifacts packages list

Para ver as versões de um pacote em quickstart-apt-repo, execute o comando:

gcloud artifacts versions list --package=apt-dpkg-ref

criar uma VM

Crie uma nova VM do Compute Engine em que você instalará o pacote de amostra.

No Cloud Shell, execute o seguinte comando para criar uma instância de VM chamada quickstart-apt-vm:

gcloud compute instances create quickstart-apt-vm \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --scopes=cloud-platform

Por padrão, a VM não tem os escopos de acesso necessários para trabalhar com o repositório. A sinalização --scopes define o escopo de acesso da VM como cloud-platform.

Configurar o gerenciador de pacotes

Para instalar um pacote na VM, adicione o repositório criado ao arquivo de configuração do Apt que define os repositórios de pacotes.

  1. Acesse a página "Instâncias de VM".

    Abrir a página "Instâncias de VM"

  2. Na linha da sua VM, clique em SSH. Uma nova janela é aberta com uma sessão de terminal na VM.

  3. Execute gcloud init para inicializar a Google Cloud CLI na sua VM.

  4. Atualize o apt.:

    sudo apt update
    
  5. Instale o auxiliar de credencial do Apt na VM para permitir que o Apt realize a autenticação:

    sudo apt install apt-transport-artifact-registry
    
  6. Configure sua VM para acessar pacotes do Artifact Registry usando o seguinte comando:

    echo 'deb ar+https://us-central1-apt.pkg.dev/projects/PROJECT quickstart-apt-repo main' | sudo tee -a  /etc/apt/sources.list.d/artifact-registry.list
    

    Substitua PROJECT pelo ID do projeto do Google Cloud.

Instale o pacote

Instale o pacote adicionado ao repositório.

  1. Atualize a lista de pacotes disponíveis:

    sudo apt update
    
  2. Instale o pacote no repositório.

    sudo apt install apt-dpkg-ref/quickstart-apt-repo
    

    As informações de instalação retornadas são semelhantes ao exemplo a seguir:

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Selected version '5.3.1+nmu2' (Debian:10.7/stable, namespaces/my-repo/repositories/quickstart-apt-repo:quickstart
    -apt-repo [all]) for 'apt-dpkg-ref'
    The following NEW packages will be installed:
      apt-dpkg-ref
    0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
    Need to get 113 kB of archives.
    After this operation, 128 kB of additional disk space will be used.
    Get:1 http://deb.debian.org/debian buster/main amd64 apt-dpkg-ref all 5.3.1+nmu2 [113 kB]
    Fetched 113 kB in 0s (693 kB/s)
    Selecting previously unselected package apt-dpkg-ref.
    (Reading database ... 39506 files and directories currently installed.)
    Preparing to unpack .../apt-dpkg-ref_5.3.1+nmu2_all.deb ...
    Unpacking apt-dpkg-ref (5.3.1+nmu2) ...
    Setting up apt-dpkg-ref (5.3.1+nmu2) ...
    

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

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

Para excluir o repositório:

Console

  1. Abra a página Repositórios no console do Google Cloud.

    Abrir a página Repositórios

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

  3. Clique em Excluir.

gcloud

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

    gcloud artifacts repositories delete quickstart-apt-repo
    
  2. Se quiser remover as configurações padrão de repositório e localização que definiu como configuração ativa gcloud, execute os seguintes comandos:

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

Para excluir a VM criada, execute o seguinte comando:

gcloud compute instances delete quickstart-apt-vm

A seguir