Stocker des packages Conda dans Artifact Registry

Ce guide de démarrage rapide vous explique comment configurer un dépôt Conda Artifact Registry privé, puis y importer un package.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Artifact Registry API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  9. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.
  10. Pour utiliser la CLI Conda dans votre environnement Google Cloud , installez l'un des gestionnaires de packages Conda suivants :

Lancer Cloud Shell

Dans ce guide de démarrage rapide, vous allez utiliser Cloud Shell, un environnement shell permettant de gérer les ressources hébergées surGoogle Cloud.

Cloud Shell est préinstallé avec la Google Cloud CLI et Conda. gcloud CLI fournit l'interface de ligne de commande principale pour Google Cloud.

Lancez Cloud Shell :

  1. Accédez à la console Google Cloud .

    ConsoleGoogle Cloud

  2. Dans la barre d'outils de la console Google Cloud , cliquez sur Activer Cloud Shell.

Une session Cloud Shell s'ouvre dans un cadre situé en bas de la console. Cette interface système vous permet d'exécuter les commandes gcloud.

Configurer l'authentification

Un canal Conda est l'adresse d'un emplacement où sont stockés un ou plusieurs packages Conda. Avant de pouvoir installer des packages dans votre environnement Conda, vous devez ajouter le canal correspondant à ce package dans votre fichier de configuration Conda.

Pour permettre à la CLI Conda d'appeler directement Artifact Registry, vous devez authentifier votre canal Conda dans Google Cloud en procédant comme suit :

  1. Dans gcloud CLI, exécutez la commande suivante pour stocker l'identité d'un jeton oauth dans une variable TOKEN :

    export TOKEN="oauth2accesstoken:$(gcloud auth print-access-token)"
    
  2. Ajoutez votre dépôt Conda en tant que canal dans votre fichier de configuration Conda :

    Conda

    conda config --add channels \
    https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORY
    

    Miniforge

    conda config --add channels \
    https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORY
    

    Mamba

    mamba config --add channels \
    https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORY
    

    Micromamba

    micromamba config --add channels \
    https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORY
    

    Où :

    • TOKEN stocke la valeur du jeton oauth généré en exécutant oauth2accesstoken:$(gcloud auth print-access-token).
    • LOCATION est l'emplacement régional ou multirégional du dépôt.
    • PROJECT est l'ID du projet contenant le dépôt.
    • REPOSITORY est l'ID du dépôt.

Actualiser un jeton oauth expiré

Un jeton oauth expire au bout d'une heure. Pour réauthentifier votre chaîne avec un nouveau jeton, procédez comme suit :

  1. Supprimez votre chaîne de votre fichier de configuration :

    Conda

    conda config --remove channels CHANNEL_NAME
    

    Miniforge

    conda config --remove channels CHANNEL_NAME
    

    Mamba

    mamba config --remove channels CHANNEL_NAME
    

    Micromamba

    micromamba config --remove channels CHANNEL_NAME
    
  2. Suivez l'étape précédente qui décrit la création d'un jeton oauth.

  3. Ajoutez de nouveau votre dépôt Conda à votre fichier de configuration Conda, en utilisant votre nouvelle valeur de jeton.

Créer un dépôt

Créez le dépôt pour votre package.

  1. Exécutez la commande suivante pour créer un dépôt Conda dans le projet actuel nommé quickstart-conda-repo à l'emplacement us-west1.

    gcloud artifacts repositories create quickstart-conda-repo \
        --repository-format=conda \
        --location=us-west1 \
        --description="Conda repository"
    
  2. Exécutez la commande suivante pour vérifier que votre dépôt a bien été créé :

    gcloud artifacts repositories list
    
  3. Pour simplifier les commandes gcloud, définissez le dépôt par défaut sur quickstart-conda-repo et l'emplacement par défaut sur us-west1. Une fois les valeurs définies, vous n'avez pas besoin de les spécifier dans les commandes gcloud nécessitant un dépôt ou un emplacement.

    Pour définir le dépôt, exécutez la commande suivante :

    gcloud config set artifacts/repository quickstart-conda-repo
    

    Pour définir l'emplacement, exécutez la commande suivante :

    gcloud config set artifacts/location us-west1
    

    Pour plus d'informations sur ces commandes, consultez la documentation gcloud config set.

Importer le package dans le dépôt

Pour importer un package dans votre dépôt, exécutez la commande suivante :

gcloud artifacts files upload \
    --source=PACKAGE_NAME \
    --repository=REPO_NAME\
    --project=PROJECT \
    --location=LOCATION

Où :

  • REPO_NAME est l'ID du dépôt.
  • PROJECT est l'ID du projet contenant le dépôt.
  • LOCATION est l'emplacement régional ou multirégional du dépôt.

Pour importer plusieurs packages à la fois :

gcloud artifacts files upload \
    --source-directory="DIRECTORY" \
    --repository="REPO_NAME"\
    --project="PROJECT" \
    --location="LOCATION"

Où :

  • DIRECTORY est l'adresse d'un dossier local contenant vos packages Conda.

Afficher le package dans le dépôt

Pour vérifier que votre package a bien été ajouté, listez les packages dans le dépôt quickstart-conda-repo.

Exécutez la commande suivante :

gcloud artifacts packages list --repository=quickstart-conda-repo

Pour afficher les versions d'un package, exécutez la commande suivante :

gcloud artifacts versions list --package=PACKAGE_NAME

Pour afficher les fichiers d'une version de package, exécutez la commande suivante :

gcloud artifacts files list --package=PACKAGE_NAME --version=VERSION

Installer le package

Pour installer le package que vous venez d'ajouter à votre dépôt Artifact Registry, exécutez la commande suivante :

Conda

conda install -n ENVIRONMENT_NAME PACKAGE_NAME

Miniforge

conda install -n ENVIRONMENT_NAME PACKAGE_NAME

Mamba

mamba install -n ENVIRONMENT_NAME PACKAGE_NAME

Micromamba

micromamba install -n ENVIRONMENT_NAME PACKAGE_NAME

Où :

  • ENVIRONMENT_NAME est le nom de votre environnement Conda.
  • PACKAGE_NAME est le nom du package à installer dans votre dépôt.

Dépannage

Pour en savoir plus, consultez Dépannage des packages Conda.

Effectuer un nettoyage

Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre compte Google Cloud , procédez comme suit :

Avant de supprimer le dépôt, assurez-vous que tous les packages que vous souhaitez conserver sont disponibles à un autre emplacement.

  1. Pour supprimer le dépôt quickstart-conda-repo, exécutez la commande suivante :

    gcloud artifacts repositories delete quickstart-conda-repo
    
  2. Si vous souhaitez supprimer le dépôt par défaut et les paramètres d'emplacement que vous avez définis pour la configuration gcloud active, exécutez les commandes suivantes :

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

Étapes suivantes