Armazenar pacotes Apt no Artifact Registry
Neste guia de início rápido, mostramos como configurar um repositório Apt privado do Artifact Registry, adicionar um pacote Debian a ele e instalar o pacote em uma VM do Compute Engine que executa um sistema operacional baseado em Debian.
Para saber mais sobre como gerenciar pacotes Debian, consulte Como trabalhar com pacotes Debian.
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 role
(
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. -
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 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. Acesse o console do Google Cloud .
No console do 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-apt-repocomo o nome do repositório.Selecione Apt como o formato.
Em Tipo de local, selecione Região e escolha o local
us-west1.Clique em Criar.
O repositório é adicionado à lista de repositórios.
gcloud
No Cloud Shell, execute o comando a seguir para criar um novo repositório Apt no projeto atual chamado
quickstart-apt-repono localus-west1.gcloud artifacts repositories create quickstart-apt-repo \ --repository-format=apt \ --location=us-west1 \ --description="Apt repository"Execute o seguinte comando para verificar se o repositório foi criado:
gcloud artifacts repositories list
Acesse a página "Instâncias de VM".
Na linha com sua VM, clique em SSH. Uma nova janela será aberta com uma sessão de terminal na VM.
Execute
gcloud initpara inicializar a Google Cloud CLI na VM.Atualizar apt:
sudo apt updateFaça o download do pacote curl com o comando:
apt download curlO Apt baixa a versão mais recente do pacote disponível nos repositórios Apt configurados.
Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B] Get:2 https://deb.debian.org/debian bookworm/main amd64 curl amd64 7.88.1-10+deb12u14 [316 kB] Fetched 316 kB in 0s (3078 kB/s)Execute
lspara receber o nome do arquivo do pacote curl. O nome do arquivo é semelhante acurl_7.88.1-10+deb12u14_amd64.deb.Para simplificar os comandos
gcloud, defina o repositório padrão comoquickstart-apt-repoe o local padrão comous-west1. 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-apt-repoPara definir o local, execute o comando:
gcloud config set artifacts/location us-west1Saiba mais sobre esses comandos na documentação do gcloud config set.
Execute o comando
gcloud artifacts apt uploadpara fazer upload do pacote para o repositório:gcloud artifacts apt upload quickstart-apt-repo \ --source=FILE_NAMESubstitua
FILE_NAMEpelo caminho para o pacote curl.Abra a página Repositórios no console do Google Cloud .
Na lista de repositórios, clique em quickstart-apt-repo.
A página Pacotes lista os pacotes no repositório.
Instale o auxiliar de credenciais do Apt na VM para permitir que o Apt faça a autenticação:
sudo apt install apt-transport-artifact-registryConfigure a VM para acessar pacotes do Artifact Registry:
echo 'deb ar+https://us-west1-apt.pkg.dev/projects/PROJECT quickstart-apt-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.listSubstitua PROJECT pelo Google Cloud ID do projeto.
Atualize a lista de pacotes disponíveis:
sudo apt updateInstale o pacote do seu repositório.
sudo apt install curl/quickstart-apt-repoAs informações de instalação retornadas são semelhantes ao exemplo a seguir:
Reading package lists... Done Building dependency tree... Done Reading state information... Done Selected version '7.88.1-10+deb12u14' (quickstart-apt-repo:quickstart-apt-repo, Debian:12.12/oldstable [amd64]) for 'curl' The following additional packages will be installed: libcurl3-gnutls libcurl4 The following packages will be upgraded: curl libcurl3-gnutls libcurl4 3 upgraded, 0 newly installed, 0 to remove and 77 not upgraded. Need to get 1093 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B] Get:2 https://deb.debian.org/debian bookworm/main amd64 libcurl4 amd64 7.88.1-10+deb12u14 [392 kB] Get:3 https://deb.debian.org/debian bookworm/main amd64 libcurl3-gnutls amd64 7.88.1-10+deb12u14 [386 kB] Get:4 ar+https://us-west1-apt.pkg.dev/projects/PROJECT quickstart-apt-repo/main amd64 curl amd64 7.88.1-10+deb12u14 [316 kB] Fetched 1093 kB in 1s (947 kB/s) Reading changelogs... Done (Reading database ... 72080 files and directories currently installed.) Preparing to unpack .../curl_7.88.1-10+deb12u14_amd64.deb ... Unpacking curl (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Preparing to unpack .../libcurl4_7.88.1-10+deb12u14_amd64.deb ... Unpacking libcurl4:amd64 (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Preparing to unpack .../libcurl3-gnutls_7.88.1-10+deb12u14_amd64.deb ... Unpacking libcurl3-gnutls:amd64 (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Setting up libcurl3-gnutls:amd64 (7.88.1-10+deb12u14) ... Setting up libcurl4:amd64 (7.88.1-10+deb12u14) ... Setting up curl (7.88.1-10+deb12u14) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for libc-bin (2.36-9+deb12u10) ...
Abra a página Repositórios no console do Google Cloud .
Na lista de repositórios, selecione quickstart-apt-repo.
Clique em Excluir.
Para excluir o repositório
quickstart-apt-repo, execute o seguinte comando:gcloud artifacts repositories delete quickstart-apt-repoSe 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- Saiba como trabalhar com pacotes Deb.
- Leia sobre DevOps e conheça o programa de pesquisa de DevOps.
Iniciar o Cloud Shell
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.
Você vai usar esse shell para executar os comandos gcloud e criar uma VM e um
repositório.
Criar um repositório
Crie o repositório para seus artefatos.
Agora você pode adicionar um pacote ao repositório. O Cloud Shell usa uma imagem do Ubuntu criada pelo Google, não do Debian. Para gerenciar pacotes Debian no repositório, você vai usar uma VM com uma imagem do SO Debian.
Criar uma VM
Crie uma nova VM do Compute Engine em que você vai 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-12 \
--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 flag --scopes define o escopo de acesso da VM como cloud-platform.
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, ele poderá armazenar os pacotes no Cloud Storage para que você importe.Neste guia de início rápido, você vai fazer upload de um arquivo de amostra usando o comando
gcloud artifacts apt upload.
Ver o pacote no repositório
Verifique se o pacote foi adicionado ao repositório.
Console
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
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 repositórios de pacotes.
Instale o pacote
Instale o pacote que você adicionou ao repositório.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.
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
gcloud
Para excluir a VM criada, execute o seguinte comando:
gcloud compute instances delete quickstart-apt-vm