Utiliser d'autres formats d'artefacts

Cette page explique comment stocker des artefacts immuables avec gestion des versions qui ne respecter un format de package spécifique dans le format générique d'Artifact Registry des dépôts.

Pour vous familiariser avec le stockage d'artefacts génériques dans Artifact Registry, vous consultez le guide de démarrage rapide.

Les artefacts génériques sont des fichiers de n'importe quel format, y compris, mais sans s'y limiter, les fichiers suivantes:

  • Fichiers compressés, tels que les fichiers tar et zip
  • Les fichiers de configuration, tels que les fichiers YAML et TOML
  • Fichiers texte et PDF
  • Binaires
  • Archives
  • Fichiers multimédias

Contrairement à d'autres formats, les artefacts stockés dans des dépôts au format générique ne sont pas destinés à être utilisés par Docker, des gestionnaires de packages ou d'autres clients tiers.

Avant de commencer

  1. Créez un dépôt de formats génériques.
  2. Vérifiez que vous disposez des autorisations requises pour le un dépôt de clés.
  3. (Facultatif) Configurez des valeurs par défaut pour les commandes de la Google Cloud CLI.

Rôles requis

Pour obtenir les autorisations nécessaires pour gérer des artefacts génériques, demandez à votre administrateur de vous accorder le les rôles IAM suivants dans le dépôt:

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Importer des artefacts génériques

Vous pouvez importer des artefacts génériques individuellement ou par fichier . Lors de l'importation, le nom du package et le numéro de version doivent être spécifié. Vous pouvez également spécifier le chemin d'accès dans la structure de fichiers de destination pour les importer. Si aucun chemin de destination n'est spécifié, les artefacts sont importés dans niveau racine par défaut.

Pour importer des artefacts génériques dans votre dépôt, exécutez la commande suivante:

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • PROJECT: votre compte Google Cloud ID du projet. Si l'ID de votre projet contient le signe deux-points (:), consultez Projets à l'échelle du domaine
  • LOCATION: l'emplacement régional ou multirégional emplacement du dépôt.
  • REPOSITORY: nom du dépôt où se trouve artefact est stocké.
  • SOURCE: l'emplacement et le nom du fichier que vous l'importation.
  • PACKAGE: nom du package du fichier que vous l'importation.
  • VERSION: version du fichier que vous importez.
  • Exécutez la commande suivante :

    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
    
    Vous pouvez utiliser d'autres options lorsque vous importez des artefacts: <ph type="x-smartling-placeholder">
      </ph>
    • --destination-path=PATH pour importer les données dans un dossier spécifié de la le package et la version de celui-ci. Cela créera également des dossiers qui n'existent pas.
    • --source-directory=SOURCE_DIR pour remplacer --source et télécharger un répertoire au lieu d’un seul fichier.
    • --skip-existing lorsque vous utilisez l'option --source-directory pour passer des fichiers existants. Sinon, la commande échouera lors de la tentative d'importation d'un fichier existe déjà.

    API

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT est votre Google Cloud ID du projet. Si l'ID de votre projet contient le signe deux-points (:), consultez Projets à l'échelle du domaine
    • LOCATION est la valeur régionale ou emplacement multirégional du dépôt.
    • REPOSITORY est le nom du dans lequel l'artefact est stocké.
    • SOURCE est l'emplacement et le nom de le fichier que vous importez.
    • PACKAGE est le nom du package de fichier que vous importez.
    • VERSION est la version du fichier que vous sont en cours d'importation.
    • NAME est le nouveau nom du fichier dans un dépôt de clés.

    Méthode HTTP et URL :

      POST https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/genericArtifacts:create?alt=json
    

    curl (Linux, macOS ou Cloud Shell)

    Pour envoyer votre requête, exécutez la commande suivante:

      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
    

    Répertorier les artefacts

    Console

    Vous pouvez afficher les artefacts des dépôts au format générique dans la console Google Cloud.

    1. Ouvrez la page Dépôts de la console Google Cloud.

      Ouvrir la page "Dépôts"

    2. Dans la liste des dépôts, sélectionnez le dépôt.

    3. Cliquez sur le nom du package.

    4. Pour afficher les fichiers téléchargeables de toutes les versions du package, cliquez sur le bouton Files (Fichiers). .

    5. Pour afficher les fichiers téléchargeables d'une version spécifique de votre package, cliquez sur le nom de la version, puis cliquez sur l'onglet Fichiers.

    gcloud

    Vous pouvez répertorier les artefacts d'un dépôt à l'aide de l'gcloud artifacts files list .

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • PROJECT: votre compte Google Cloud ID du projet. Si l'ID de votre projet contient le signe deux-points (:), consultez Projets à l'échelle du domaine
    • LOCATION: l'emplacement régional ou multirégional emplacement du dépôt.
    • REPOSITORY: nom du dépôt où se trouve artefact est stocké.

    Exécutez la commande suivante :

    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
    
    La réponse inclut les détails du fichier au format PACKAGE:VERSION: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
    

    Il est également possible de trier par version et par package en ajoutant l'une des les options suivantes:

    • --package=PACKAGE pour afficher uniquement les fichiers d'un d'un package.
    • --version=VERSION pour afficher uniquement les fichiers d'un version.

    Télécharger des artefacts génériques

    Pour télécharger des artefacts génériques depuis votre dépôt, exécutez la commande suivante:

    gcloud

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • DESTINATION: chemin d'accès au dossier de destination dans votre système de fichiers local. Le dossier de destination doit déjà exister, sans quoi la commande échouer.
    • LOCATION: l'emplacement régional ou multirégional emplacement du dépôt.
    • REPOSITORY: nom du dépôt où se trouve artefact est stocké.
    • PACKAGE: package du fichier à télécharger.
    • VERSION: version du fichier à télécharger.
    • NAME (facultatif): nom du fichier à télécharger. Sans cet indicateur, la commande télécharge tous les fichiers pour le package et la version spécifiés comme et créer les répertoires nécessaires dans la destination.

    Exécutez la commande suivante :

    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

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT: votre compte Google Cloud ID du projet. Si l'ID du projet contient le signe deux-points (:), consultez la section Projets à l'échelle du domaine.
    • LOCATION: l'emplacement régional ou multirégional emplacement du dépôt.
    • REPOSITORY: nom du dépôt où l'artefact est stocké.
    • DESTINATION: chemin d'accès à dossier de destination dans votre système de fichiers local. Le dossier de destination doit déjà exister. l'exécution de la commande échoue.
    • FILE: nom de fichier encodé au format URL. Vous pouvez Trouvez cette valeur en exécutant la commande gcloud artifacts files list et en copiant la valeur de FILE. Il doit s'agir convertie au format encodé en URL pour cette commande (par exemple, path/to/file.jar) doit être saisi sous la forme path%2Fto%2Ffile.jar.

    Méthode HTTP et URL :

    GET https://artifactregistry.googleapis.com/download/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files/FILE:download?alt=media

    Pour envoyer votre requête, développez l'une des options suivantes :

    Le téléchargement devrait commencer immédiatement.

    Supprimer des artefacts génériques

    Pour supprimer des artefacts génériques de votre dépôt, exécutez la commande gcloud artifacts files delete. Cette commande n'est disponible que pour les formats génériques des dépôts.

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • FILE: nom de fichier complet Vous pouvez trouver cette valeur Exécutez la commande gcloud artifacts files list et copiez la valeur de FILE.
    • LOCATION: l'emplacement régional ou multirégional emplacement du dépôt.
    • REPOSITORY: nom du dépôt où se trouve artefact est stocké.

    Exécutez la commande suivante :

    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
    

    Étape suivante