Esta página descreve como armazenar artefactos imutáveis com versões que não cumprem nenhum formato de pacote específico nos repositórios de formato genérico do Artifact Registry.
Para se familiarizar com o armazenamento de artefactos genéricos no Artifact Registry, pode experimentar o início rápido.
Os artefactos genéricos são ficheiros de qualquer formato, incluindo, entre outros, os seguintes:
- Ficheiros comprimidos, como ficheiros tar e ficheiros zip
- Ficheiros de configuração, como ficheiros YAML e TOML
- Ficheiros de texto e PDFs
- Binários
- Arquivos
- Ficheiros multimédia
Ao contrário de outros formatos, os artefactos armazenados em repositórios de formatos genéricos não se destinam a ser usados pelo Docker, gestores de pacotes ou outros clientes de terceiros.
Antes de começar
- Crie um repositório de formatos genérico.
- Verifique se tem as autorizações necessárias para o repositório.
- (Opcional) Configure as predefinições para os comandos da CLI gcloud.
Funções necessárias
Para receber as autorizações de que precisa para gerir artefactos genéricos, peça ao seu administrador para lhe conceder as seguintes funções de IAM no repositório:
-
Ver artefactos:
Leitor do Artifact Registry (
roles/artifactregistry.reader
) -
Transferir artefactos:
Leitor do Artifact Registry (
roles/artifactregistry.reader
) -
Carregue artefactos para um repositório:
Escritor do Artifact Registry (
roles/artifactregistry.writer
) -
Eliminar artefactos:
Administrador do repositório do Artifact Registry (
roles/artifactregistry.repoAdmin
)
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.
Carregue artefactos genéricos
Pode carregar artefactos genéricos individualmente por ficheiro ou em múltiplos por diretório. Quando carregar, tem de especificar um nome do pacote e um número da versão. Também pode especificar o caminho na estrutura de ficheiros de destino para os carregar. Se não for especificado nenhum caminho de destino, os artefactos são carregados para o nível raiz por predefinição.
Para carregar artefactos genéricos para o seu repositório, execute o seguinte comando:
gcloud
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
PROJECT
: o seu Google Cloud
ID do projeto.
Se o ID do projeto contiver dois pontos (:
), consulte o artigo
Projetos com âmbito de domínioLOCATION
: a localização regional ou multirregional do repositório.REPOSITORY
: o nome do repositório onde o artefacto está armazenado.SOURCE
: a localização e o nome do ficheiro que está a carregar.PACKAGE
: o nome do pacote do ficheiro que está a carregar.VERSION
: a versão do ficheiro que está a carregar.Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud artifacts generic upload \ --project=PROJECT \ --source=SOURCE \ --package=PACKAGE \ --version=VERSION \ --location=LOCATION \ --repository=REPOSITORY
Windows (PowerShell)
gcloud artifacts generic upload ` --project=PROJECT ` --source=SOURCE ` --package=PACKAGE ` --version=VERSION ` --location=LOCATION ` --repository=REPOSITORY
Windows (cmd.exe)
gcloud artifacts generic upload ^ --project=PROJECT ^ --source=SOURCE ^ --package=PACKAGE ^ --version=VERSION ^ --location=LOCATION ^ --repository=REPOSITORY
--destination-path=PATH
para carregar para uma pasta especificada no pacote e na versão. Também cria pastas que não existam.--source-directory=SOURCE_DIR
para substituir a flag--source
e carregar um diretório em vez de um único ficheiro.--skip-existing
quando usar a flag--source-directory
para ignorar ficheiros já existentes. Caso contrário, o comando falha quando tenta carregar um ficheiro que já existe.
API
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT é o seu Google Cloud
ID do projeto. Se o ID do projeto contiver dois pontos (
:
), consulte o artigo Projetos com âmbito de domínio - LOCATION é a localização regional ou multirregional do repositório.
- REPOSITORY é o nome do repositório onde o artefacto está armazenado.
- SOURCE é a localização e o nome do ficheiro que está a carregar.
- PACKAGE é o nome do pacote do ficheiro que está a carregar.
- VERSION é a versão do ficheiro que está a carregar.
- NAME é o novo nome do ficheiro no repositório.
Método HTTP e URL:
POST https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/genericArtifacts:create?alt=json
curl (Linux, macOS ou Cloud Shell)
Para enviar o seu pedido, execute o seguinte comando:
curl -v \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-F "meta={'filename':'NAME','package_id':'PACKAGE','version_id':'VERSION'};type=application/json" \
-F "blob=@SOURCE" \
https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSTIORY/genericArtifacts:create?alt=json
Apresentar artefactos
consola
Pode ver artefactos para repositórios de formato genérico na Google Cloud consola.
Abra a página Repositórios na Google Cloud consola.
Na lista de repositórios, selecione o repositório.
Clique no nome do pacote.
Para ver os ficheiros transferíveis de todas as versões do pacote, clique no separador Ficheiros.
Para ver ficheiros transferíveis de uma versão específica do pacote, clique no nome da versão e, de seguida, clique no separador Ficheiros.
gcloud
Pode listar artefactos num repositório com o comando gcloud artifacts files list
.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
PROJECT
: o seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:
), consulte o artigo Projetos com âmbito de domínioLOCATION
: a localização regional ou multirregional do repositório.REPOSITORY
: o nome do repositório onde o artefacto está armazenado.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud artifacts files list \ --project=PROJECT \ --location=LOCATION \ --repository=REPOSITORY
Windows (PowerShell)
gcloud artifacts files list ` --project=PROJECT ` --location=LOCATION ` --repository=REPOSITORY
Windows (cmd.exe)
gcloud artifacts files list ^ --project=PROJECT ^ --location=LOCATION ^ --repository=REPOSITORY
FILE: my-package:1.0.0:hello.yaml CREATE_TIME: 2023-03-09T20:55:07 UPDATE_TIME: 2023-03-09T20:55:07 SIZE (MB): 0.000 OWNER: projects/my-project/locations/us-central1/repositories/quickstart-generic-repo/packages/my-package/versions/1.0.0
Também é possível ordenar por versão e pacote adicionando um ou ambos os seguintes indicadores:
--package=PACKAGE
para mostrar apenas ficheiros de um pacote específico.--version=VERSION
para mostrar apenas ficheiros de uma versão específica.
Transfira artefactos genéricos
Para transferir artefactos genéricos do seu repositório, execute o seguinte comando:
gcloud
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
DESTINATION
: o caminho para a pasta de destino no seu sistema de ficheiros local. A pasta de destino tem de existir ou o comando vai falhar.LOCATION
: a localização regional ou multirregional do repositório.REPOSITORY
: o nome do repositório onde o artefacto está armazenado.PACKAGE
: o pacote do ficheiro a transferir.VERSION
: a versão do ficheiro a transferir.NAME
(opcional): o nome do ficheiro a transferir. Sem esta flag, o comando transfere todos os ficheiros para o pacote e a versão especificados, bem como cria os diretórios necessários no destino.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud artifacts generic download \ --destination=DESTINATION \ --location=LOCATION \ --repository=REPOSITORY \ --package=PACKAGE \ --version=VERSION \ --name=NAME
Windows (PowerShell)
gcloud artifacts generic download ` --destination=DESTINATION ` --location=LOCATION ` --repository=REPOSITORY ` --package=PACKAGE ` --version=VERSION ` --name=NAME
Windows (cmd.exe)
gcloud artifacts generic download ^ --destination=DESTINATION ^ --location=LOCATION ^ --repository=REPOSITORY ^ --package=PACKAGE ^ --version=VERSION ^ --name=NAME
API
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT
: o seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:
), consulte o artigo Projetos com âmbito de domínio.LOCATION
: a localização regional ou multirregional do repositório.REPOSITORY
: o nome do repositório onde o artefacto está armazenado.DESTINATION
: o caminho para a pasta de destino no seu sistema de ficheiros local. A pasta de destino tem de existir ou o comando falha.FILE
: o nome do ficheiro codificado por URL. Pode encontrar este valor executando o comandogcloud artifacts files list
e copiando o valor deFILE
. Tem de ser convertido para o formato codificado por URL para este comando. Por exemplo,path/to/file.jar
tem de ser introduzido comopath%2Fto%2Ffile.jar
.
Método HTTP e URL:
GET https://artifactregistry.googleapis.com/download/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files/FILE:download?alt=media
Para enviar o seu pedido, expanda uma destas opções:
Deve ver a transferência começar imediatamente.Elimine artefactos genéricos
Para eliminar artefactos genéricos do seu repositório, execute o comando gcloud artifacts
files delete
. Este comando só está disponível para repositórios de formato genérico.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
FILE
: o nome completo do ficheiro. Pode encontrar este valor executando o comandogcloud artifacts files list
e copiando o valor deFILE
.LOCATION
: a localização regional ou multirregional do repositório.REPOSITORY
: o nome do repositório onde o artefacto está armazenado.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud artifacts files delete \ FILE \ --location=LOCATION \ --repository=REPOSITORY
Windows (PowerShell)
gcloud artifacts files delete ` FILE ` --location=LOCATION ` --repository=REPOSITORY
Windows (cmd.exe)
gcloud artifacts files delete ^ FILE ^ --location=LOCATION ^ --repository=REPOSITORY