Trabalhar com outros formatos de artefato

Esta página descreve como armazenar artefatos imutáveis com controle de versão aderir a qualquer formato de pacote específico no formato genérico do Artifact Registry. repositórios.

Para se familiarizar com o armazenamento de artefatos genéricos no Artifact Registry, use o guia de início rápido.

Artefatos genéricos são arquivos de qualquer formato, incluindo, sem limitação, os seguintes:

  • Arquivos compactados, como tar e ZIP
  • Arquivos de configuração, como YAML e TOML
  • Arquivos de texto e PDFs
  • Binários
  • Arquivos
  • Arquivos de mídia

Ao contrário de outros formatos, os artefatos armazenados em repositórios de formato genérico não são para ser usado pelo Docker, gerenciadores de pacotes ou outros clientes de terceiros.

Antes de começar

  1. Crie um repositório de formato genérico.
  2. Verifique se você tem as permissões necessárias para o repositório de dados.
  3. (Opcional) Configure padrões para os comandos da Google Cloud CLI.

Funções exigidas

Para receber as permissões necessárias para gerenciar artefatos genéricos, peça ao administrador para conceder a você os seguintes papéis do IAM no repositório:

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Fazer upload de artefatos genéricos

É possível fazer upload de artefatos genéricos individualmente por arquivo ou em vários diretório. Ao fazer o upload, devem ser fornecidos um nome de pacote e um número de versão especificado. Você também pode especificar o caminho na estrutura do arquivo de destino para para fazer o upload. Se nenhum caminho de destino for especificado, os artefatos serão enviados para no nível raiz por padrão.

Para fazer upload de artefatos genéricos no seu repositório, execute o seguinte comando:

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • PROJECT: seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), consulte Projetos com escopo de domínio
  • LOCATION: regional ou multirregional. local do repositório.
  • REPOSITORY: o nome do repositório em que o artefato é armazenado.
  • SOURCE: o local e o nome do arquivo em que você está. fazendo upload.
  • PACKAGE: o nome do pacote do arquivo em que você está. fazendo upload.
  • VERSION: a versão do arquivo que você está enviando.
  • 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
    
    Há outras sinalizações que podem ser usadas ao fazer upload de artefatos:
    • --destination-path=PATH para fazer o upload para uma pasta específica no pacote e versão. Ele também criará todas as pastas que não existirem.
    • --source-directory=SOURCE_DIR para substituir --source. e faça o upload de um diretório em vez de um único arquivo.
    • --skip-existing ao usar a flag --source-directory para pular arquivos já existentes. Caso contrário, o comando falhará ao tentar carregar um arquivo que já existe.

    API

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • PROJECT é seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), consulte Projetos com escopo de domínio
    • LOCATION é o regional ou o local multirregional do repositório.
    • REPOSITORY é o nome do repositório em que o artefato está armazenado.
    • SOURCE é o local e o nome do o arquivo que você está enviando.
    • PACKAGE é o nome do pacote do do arquivo que você está enviando.
    • VERSION é a versão do arquivo que você estão sendo enviados.
    • NAME é o novo nome do arquivo no repositório de dados.

    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 a solicitação, 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
    

    Listar artefatos

    Console

    É possível visualizar artefatos para repositórios de formato genérico na console do Google Cloud.

    1. Abra a página Repositórios no console do Google Cloud.

      Abrir a página Repositórios

    2. Na lista de repositórios, selecione o repositório.

    3. Clique no nome do pacote.

    4. Para visualizar os arquivos para download de todas as versões do pacote, clique na guia Arquivos .

    5. Para acessar os arquivos para download de uma versão específica do seu pacote, clique em o nome da versão e, em seguida, clique na guia Arquivos.

    gcloud

    É possível listar artefatos em um repositório com o gcloud artifacts files list kubectl.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • PROJECT: seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), consulte Projetos com escopo de domínio
    • LOCATION: regional ou multirregional. local do repositório.
    • REPOSITORY: o nome do repositório em que o artefato é 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
    
    A resposta inclui os detalhes do arquivo no formato PACKAGEhVERSION:NAME.
    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 classificar por versão e pacote adicionando um ou ambos as seguintes sinalizações:

    • --package=PACKAGE para mostrar apenas os arquivos de um determinado .
    • --version=VERSION para mostrar apenas os arquivos de um determinado para a versão anterior.

    Fazer o download de artefatos genéricos

    Para fazer o download de artefatos genéricos do seu repositório, execute o seguinte comando:

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • DESTINATION: o caminho para a pasta de destino. no seu sistema de arquivos local. É preciso que a pasta de destino já exista, ou o comando falhar.
    • LOCATION: regional ou multirregional. local do repositório.
    • REPOSITORY: o nome do repositório em que o artefato é armazenado.
    • PACKAGE: o pacote do arquivo que será transferido por download.
    • VERSION: a versão do arquivo que será transferida por download.
    • NAME (opcional): o nome do arquivo que será transferido por download. Sem essa sinalização, o comando fará o download de todos os arquivos do pacote e da versão especificados como além de criar 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 os dados da solicitação abaixo, faça as substituições a seguir:

    • PROJECT: seu Google Cloud ID do projeto. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.
    • LOCATION: regional ou multirregional. local do repositório.
    • REPOSITORY: o nome do repositório. onde o artefato está armazenado.
    • DESTINATION: o caminho para o pasta de destino no seu sistema de arquivos local. A pasta de destino já deve existir ou a vai falhar.
    • FILE: o nome de arquivo codificado pelo URL. Você pode Para encontrar esse valor, execute o comando gcloud artifacts files list e copie o valor de FILE. Deve ser convertido em formato codificado por URL para este comando, por exemplo, path/to/file.jar precisaria ser inserido como path%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 a solicitação, expanda uma destas opções:

    O download deve começar imediatamente.

    Excluir artefatos genéricos

    Para excluir artefatos genéricos do repositório, execute o comando gcloud artifacts files delete. Esse comando só está disponível para formatos genéricos repositórios.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • FILE: o nome completo do arquivo. Para encontrar esse valor, Execute o comando gcloud artifacts files list e copie o valor para FILE.
    • LOCATION: regional ou multirregional. local do repositório.
    • REPOSITORY: o nome do repositório em que o artefato é 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
    

    A seguir