Esta página descreve a configuração de VMs para instalar pacotes RPM a partir de um repositório Yum do Artifact Registry. Os repositórios Yum do Artifact Registry suportam clientes yum
e dnf
.
Antes de começar
Se o repositório Yum de destino não existir, crie um novo repositório. Pode criar um repositório privado ou um repositório público que não requer autenticação.
Prepare uma VM para aceder a um repositório Yum
Para preparar uma VM para aceder a um repositório Yum, use a ferramenta de cliente yum
ou dnf
:
Repositório privado
Escolha a conta de serviço que vai usar para conceder acesso.
- Para VMs do Compute Engine, pode ser a conta de serviço predefinida. O Artifact Registry obtém 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 sua VM. Precisa da localização do ficheiro de chave da conta de serviço para configurar a VM. Pode ver e criar chaves para contas existentes na página Contas de serviço.
Conceda autorizações de acesso ao repositório à sua conta de serviço.
Prepare a VM para aceder ao repositório.
VM do Compute Engine
Atribua
cloud-platform
âmbitos de acesso à API à VM. Para ver informações sobre a definição de âmbitos de acesso, consulte o artigo Alterar a conta de serviço e os âmbitos de acesso de uma instância.Atualize a cache de pacotes através do seguinte comando:
sudo yum makecache
Instale o plug-in do Artifact Registry na VM através do seguinte comando:
sudo yum install FORMAT-plugin-artifact-registry
Substitua o seguinte:
FORMAT
com uma das seguintes opções:yum
, se o seu sistema operativo for o Enterprise Linux 7 ou anteriordnf
, se o seu sistema operativo for o Enterprise Linux 8 ou posterior
Outra VM
Instale a chave de assinatura RPM através do seguinte comando:
sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
Crie um ficheiro com o nome
/etc/yum.repos.d/artifact-registry-plugin.repo
com o seguinte conteúdo:[ar-plugin] name=Artifact Registry Plugin baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable enabled=1 gpgcheck=1
Substitua o seguinte:
FORMAT
com uma das seguintes opções:yum
, se o seu sistema operativo for o Enterprise Linux 7 ou anteriordnf
, se o seu sistema operativo for o Enterprise Linux 8 ou posterior
DISTRO
com a versão principal do Red Hat Enterprise Linux no formatoelX
, em queX
é a versão de lançamento. Exemplos de valoresDISTRO
válidos sãoel7
eel8
.
Atualize o Yum através do seguinte comando:
sudo yum makecache
Instale o plug-in do Artifact Registry na VM através do seguinte comando:
yum install FORMAT-plugin-artifact-registry
Substitua
FORMAT
por uma das seguintes opções:yum
, se o seu sistema operativo for o Enterprise Linux 7 ou anteriordnf
, se o seu sistema operativo for o Enterprise Linux 8 ou posterior
Encontre a linha
#service_account_json = "/path/to/creds.json"
no ficheiroartifact-registry.conf
, descomente a linha e adicione o caminho da chave da conta de serviço.- Para sistemas operativos Enterprise Linux 7 ou anteriores, o caminho para o ficheiro de configuração é
/etc/yum/pluginconf.d/artifact-registry.conf
. - Para sistemas operativos Enterprise Linux 8 ou posteriores, o caminho para o ficheiro de configuração é
/etc/dnf/plugins/artifact-registry.conf
.
Entrada do ficheiro de configuração:
service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
Substitua
PATH_TO_SERVICE_ACCOUNT_KEY
pelo caminho para o ficheiro JSON da chave da conta de serviço.- Para sistemas operativos Enterprise Linux 7 ou anteriores, o caminho para o ficheiro de configuração é
Repositório público
Configure o acesso público ao repositório.
Configure uma VM para aceder a um repositório Yum padrão
Para configurar uma VM para aceder a um repositório Yum, use a ferramenta de cliente yum
ou dnf
:
Execute o comando
gcloud beta artifacts print-settings yum
para gerar o comando de configuração da VM:gcloud beta artifacts print-settings yum \ --repository=REPOSITORY \ --location=LOCATION
Substitua o seguinte:
REPOSITORY
é o nome do repositório do Artifact Registry.-
LOCATION
é a localização regional do repositório.
O resultado é semelhante ao seguinte:
# To configure your package manager with this repository: # Update Yum: sudo yum makecache # Install the Yum credential helper: sudo yum install yum-plugin-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [REPOSITORY] name=REPOSITORY baseurl=https://LOCATION-yum.s3nsregistry.fr/projects/PROJECT/REPOSITORY enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL # Update Yum: sudo yum makecache
Configure a ferramenta de cliente
yum
para obter pacotes do seu repositório através do comandotee
a partir do resultado do comandoprint-settings
.Por exemplo, para instalar pacotes do
my-repo
público no projetomy-project
e na localizaçãou-france-east1
, use o seguinte comando:sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [my-repo] name=My Repository baseurl=https://u-france-east1-yum.s3nsregistry.fr/projects/my-project/my-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL
Atualize as origens do repositório com o seguinte comando:
sudo yum makecache
Agora, o Yum pode estabelecer ligação ao repositório.
Se criar repositórios Yum adicionais, crie um ficheiro .repo
para cada um deles
em /etc/yum.repos.d/
. Volte a executar sudo yum update
para atualizar as origens do repositório.