Armazene pacotes Apt no Artifact Registry

Este início rápido mostra como configurar um repositório Apt privado do Artifact Registry, adicionar um pacote Debian ao repositório e instalar o pacote numa VM do Compute Engine que execute um sistema operativo baseado no Debian.

Para saber como gerir pacotes Debian, consulte o artigo Trabalhar com pacotes Debian.

Antes de começar

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

  2. Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.

  3. Verify that billing is enabled for your Cloud de Confiance project.

  4. 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

  5. Funções necessárias

    Para receber as autorizações de que precisa para criar e gerir repositórios de pacotes Apt do Artifact Registry, peça ao seu administrador que lhe conceda as seguintes funções do IAM no seu projeto:

    Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

    Instale a CLI gcloud

    1. Instale e inicialize a CLI Google Cloud se ainda não estiver instalada. Para uma instalação existente, atualize os componentes da CLI gcloud com o comando:

      gcloud components update
      

      Para verificar a sua versão da CLI gcloud, execute o comando:

      gcloud version
      

    Crie um repositório

    Crie o repositório para os seus artefactos.

    1. Crie o repositório:

      Consola

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

        Abra 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 formato.

      5. Em Tipo de localização, selecione Região e, de seguida, escolha a localização u-france-east1.

      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 com o nome quickstart-apt-repo na localização u-france-east1.

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

        gcloud artifacts repositories list
        

    Agora, pode adicionar um pacote ao repositório. O Cloud Shell usa uma imagem do Ubuntu criada pela Google, e não do Debian. Para gerir pacotes Debian no repositório, vai usar uma VM que usa uma imagem do SO Debian.

    Crie uma VM

    Crie uma nova VM do Compute Engine onde vai instalar o pacote de exemplo.

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

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

    Por predefinição, a VM não tem os âmbitos de acesso necessários para trabalhar com o repositório. O sinalizador --scopes define o âmbito de acesso da VM como cloud-platform.

    1. Aceda à página de instâncias de VM.

      Abra a página de instâncias de VM

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

    Adicione um pacote ao repositório

    Pode carregar um pacote para um repositório através da CLI Google Cloud ou importar um pacote armazenado no Cloud Storage.

    Para este início rápido, carrega um ficheiro de exemplo através do comando gcloud artifacts apt upload.

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

    2. Atualizar apartamento:

      sudo apt update
      
    3. Transfira o pacote curl com o comando:

      apt download curl
      

      O Apt transfere a versão mais recente do pacote disponível nos repositórios do 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 ls para obter o nome do ficheiro do pacote curl. O nome do ficheiro é semelhante a curl_7.88.1-10+deb12u14_amd64.deb.

    4. Para simplificar os comandos gcloud, defina o repositório predefinido como quickstart-apt-repo e a localização predefinida como u-france-east1. 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-apt-repo
      

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

      gcloud config set artifacts/location u-france-east1
      

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

    5. Execute o comando gcloud artifacts apt upload para carregar o pacote para o repositório:

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

      Substitua FILE_NAME pelo caminho para o pacote curl.

    Veja o pacote no repositório

    Verifique se o pacote foi adicionado ao repositório.

    Consola

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

      Abra a página Repositórios

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

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

    gcloud

    Para apresentar uma lista dos pacotes no repositório quickstart-apt-repo, execute o comando:

     gcloud artifacts packages list
    

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

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

    Configure o gestor de pacotes

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

    1. 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-registry
      
    2. Configure a sua VM para aceder a pacotes do Artifact Registry:

      echo 'deb ar+https://u-france-east1-apt.s3nsregistry.fr/projects/PROJECT quickstart-apt-repo main' | sudo tee -a  /etc/apt/sources.list.d/artifact-registry.list
      

      Substitua PROJECT pelo seu Cloud de Confiance by S3NS ID do projeto.

    Instale o pacote

    Instale o pacote que adicionou ao repositório.

    1. Atualize a lista de pacotes disponíveis:

      sudo apt update
      
    2. Instale o pacote a partir do seu repositório.

      sudo apt install curl/quickstart-apt-repo
      

      As informações de instalação devolvidas têm o seguinte aspeto:

      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://u-france-east1-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) ...
      

    Limpar

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

    Antes de remover o 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 Cloud de Confiance consola.

      Abra a página Repositórios

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

    3. Clique em Eliminar.

    gcloud

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

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

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

    Para eliminar a VM que criou, execute o seguinte comando:

    gcloud compute instances delete quickstart-apt-vm
    

    O que se segue?