Nesta página, descrevemos como configurar VMs para instalar pacotes Debian de um repositório Apt do Artifact Registry.
Antes de começar
Se o repositório Apt de destino não existir, crie um novo repositório padrão. É possível criar um repositório particular ou um repositório público que não exija autenticação.Preparar uma VM para acessar um repositório do Apt
Repositório particular
Escolha a conta de serviço que você vai usar para conceder acesso.
- Para VMs do Compute Engine, pode ser a conta de serviço padrão. O Artifact Registry recupera automaticamente as credenciais da conta de serviço da VM do Compute Engine para qualquer VM que use uma conta de serviço.
- Para outras VMs, crie ou escolha uma conta de serviço para agir em nome da VM. Você precisará do local do arquivo de chave da conta de serviço para configurar a VM. É possível ver e criar chaves para contas atuais na página Contas de serviço.
Conceda permissões de acesso ao repositório à sua conta de serviço.
Prepare a VM para acessar o repositório.
VM do Compute Engine
VM do Debian
Atribua
cloud-platform
escopos de acesso à API à VM. Para informações sobre como definir escopos de acesso, consulte Como mudar a conta de serviço e os escopos de acesso de uma instância.Atualize o Apt usando o seguinte comando:
sudo apt update
Instale o pacote
apt-transport-artifact-registry
na VM:sudo apt install apt-transport-artifact-registry
VM do Ubuntu
Instale as chaves de assinatura do repositório Apt usando o seguinte comando:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Substitua
LOCATION
pelo local regional do repositório.Atribua
cloud-platform
escopos de acesso à API à VM. Para informações sobre como definir escopos de acesso, consulte Como mudar a conta de serviço e os escopos de acesso de uma instância.Configure a VM para acessar pacotes do Artifact Registry usando o seguinte comando:
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Atualize o Apt usando o seguinte comando:
sudo apt update
Instale o pacote
apt-transport-artifact-registry
na VM:sudo apt install apt-transport-artifact-registry
Outra VM
Instale as chaves de assinatura do repositório Apt usando o seguinte comando:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Substitua
LOCATION
pelo local regional do repositório.Configure a VM para acessar pacotes do Artifact Registry usando o seguinte comando:
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Atualize o Apt usando o seguinte comando:
sudo apt update
Instale o pacote
apt-transport-artifact-registry
na VM:sudo apt install apt-transport-artifact-registry
Encontre a linha
#Service-Account-JSON "/path/to/creds.json";
no arquivo/etc/apt/apt.conf.d/90artifact-registry
, remova o comentário da linha e adicione o caminho da chave da conta de serviço.Entrada do arquivo de configuração:
Service-Account-JSON "PATH_TO_SERVICE_ACCOUNT_KEY";
Substitua
PATH_TO_SERVICE_ACCOUNT_KEY
pelo caminho para o arquivo JSON da chave da conta de serviço.
Repositório público
Configure o acesso público ao repositório.
Se você estiver configurando uma VM fora do Trusted Cloud, prepare sua máquina para acessar o repositório. Se você estiver configurando uma VM do Compute Engine, siga para a próxima etapa.
Instale a chave pública de verificação de assinatura usando o seguinte comando:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
Substitua
LOCATION
pelo local regional do repositório.Atualize o Apt usando o seguinte comando:
sudo apt update
Configurar uma VM para acessar um repositório Apt padrão
Configure uma VM para acessar um repositório do Apt:
Gere o comando de configuração da VM executando o comando
gcloud beta artifacts print-settings apt
:gcloud beta artifacts print-settings apt \ --repository=REPOSITORY \ --location=LOCATION
Substitua:
-
LOCATION
é o local regional do repositório. REPOSITORY
é o nome do repositório do Artifact Registry.
O resultado será assim:
# To configure your package manager with this repository: # Update Apt: sudo apt update # Install the Apt credential helper: sudo apt install apt-transport-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: echo "deb ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list # Update Apt: sudo apt update
-
Configure o Apt para buscar pacotes do seu repositório usando o comando
echo
na saída do comandoprint-settings
.Por exemplo, para instalar pacotes do repositório público
my-repo
no projetomy-project
e no localu-france-east1
, use o seguinte comando:echo 'deb ar+https://u-france-east1-apt.pkg.dev/projects/my-project my-repo main'
Atualize as fontes do repositório com o seguinte comando:
sudo apt update
Agora o Apt pode se conectar ao repositório.
Se você criar outros repositórios do Apt, adicione-os ao arquivo
artifact-registry.list
e execute sudo apt update
novamente para atualizar
as fontes do repositório.
Configurar o acesso HTTP a um repositório do Apt
Se você estiver usando ferramentas de cliente mais antigas que não oferecem suporte à criptografia SSL, configure o acesso público ao seu repositório do Apt e acesse-o via HTTP. As solicitações enviadas para repositórios legíveis publicamente usando HTTP serão rejeitadas se um token de autenticação for apresentado com a solicitação.
Configure o acesso público ao repositório.
Para configurar o Apt para buscar pacotes do seu repositório usando HTTP, execute o comando a seguir:
echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \ REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Substitua:
-
LOCATION
é o local regional do repositório. PROJECT_ID
é o ID do projeto do repositório.REPOSITORY
é o nome do repositório.
Por exemplo, para instalar pacotes do repositório público
my-repo
no projetomy-project
e no localu-france-east1
usando HTTP, use o seguinte comando:echo 'deb http://u-france-east1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
-
Atualize as fontes do repositório com o seguinte comando:
sudo apt update
Agora o Apt pode se conectar ao repositório.
Se você criar outros repositórios do Apt, adicione-os ao arquivo
artifact-registry.list
e execute sudo apt update
novamente para atualizar
as fontes do repositório.