View a markdown version of this page

Créez et testez des packages localement - Deadline Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créez et testez des packages localement

Avant de publier des packages sur Amazon S3 ou de configurer CI/CD l'automatisation sur votre ferme Deadline Cloud, vous pouvez créer et tester des packages conda sur votre poste de travail à l'aide d'un canal de système de fichiers local. Cette approche vous permet d'itérer rapidement localement sur les recettes et de vérifier les packages.

La rattler-build publish commande crée une recette, copie le package obtenu sur un canal et indexe le canal en une seule étape. Lorsque vous ciblez un répertoire de système de fichiers local, le canal est automatiquement rattler-build créé et initialisé si le répertoire n'existe pas.

Les instructions suivantes utilisent l'exemple de recette Blender 4.5 du référentiel d'échantillons Deadline Cloud sur le GitHub site Web. Vous pouvez remplacer une autre recette depuis le répertoire d'échantillons ou utiliser votre propre recette.

Conditions préalables

Avant de commencer, installez les outils suivants sur votre poste de travail :

  • pixi — Un gestionnaire de packages que vous utilisez pour installer rattler-build et tester des packages. Pour les instructions d'installation, consultez le fichier pixi.sh sur le site Web de Pixi.

  • rattler-build — L'outil de création de packages utilisé par les recettes de conda de Deadline Cloud. Après avoir installé pixi, exécutez la commande suivante pour l'installerrattler-build.

    pixi global install rattler-build
  • git — Obligatoire pour cloner le référentiel d'échantillons. SurWindows, Git for, Windows sur le site Web de Git pour Windows, fournit également un bash shell, dont certains Windows exemples de recettes ont besoin.

Création et publication d'un package sur une chaîne locale

Dans cette procédure, vous clonez le référentiel d'exemples Deadline Cloud et vous l'utilisez rattler-build publish pour créer et publier le package sur un canal de système de fichiers local.

Note

Les applications volumineuses peuvent nécessiter des dizaines de Go d'espace disque disponible pour l'archive source, les fichiers extraits et la sortie de génération. Assurez-vous d'utiliser un disque disposant de suffisamment d'espace disponible pour la sortie de compilation du package.

Pour créer et publier un package sur une chaîne locale
  1. Clonez le référentiel d'échantillons Deadline Cloud.

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git
  2. Passez au répertoire conda_recipes.

    cd deadline-cloud-samples/conda_recipes
  3. Exécutez la commande suivante pour créer la recette Blender 4.5 et publier le package dans un répertoire de chaînes local.

    Sur Linux etmacOS, exécutez la commande suivante.

    rattler-build publish blender-4.5/recipe/recipe.yaml \ --to file://$HOME/my-conda-channel \ --build-number=+1

    Sur Windows (cmd), exécutez la commande suivante.

    rattler-build publish blender-4.5/recipe/recipe.yaml ^ --to file://%USERPROFILE%/my-conda-channel ^ --build-number=+1

    La rattler-build publish commande exécute les actions suivantes :

    • Construit le package à partir de la recette.

    • Crée le répertoire des chaînes s'il n'existe pas.

    • Copie le fichier du package sur la chaîne.

    • Indexe le canal afin que les gestionnaires de packages puissent le trouver.

    Si la recette de votre package dépend de packages provenant d'un canal particulier, comme conda-forge sur le site web de conda-forge, -c conda-forge ajoutez-la à la commande.

À propos des numéros de version

L'--build-number=+1option sélectionne automatiquement le numéro de version suivant en fonction de ce qui existe déjà dans le canal de destination. La meilleure pratique consiste à ne jamais remplacer un package dans un canal. Créez toujours avec un nouveau numéro de build si le package aurait autrement le même nom de fichier. L'utilisation --build-number=+1 permet d'atteindre cet objectif lorsque vous passez à un canal de production ou à un canal de mise en scène qui reflète la production.

Si vous souhaitez contrôler directement le numéro de version, vous pouvez le définir avec une valeur spécifique telle que--build-number=7. Si vous omettez cette option, rattler-build utilise le numéro de version défini dans le recipe.yaml fichier.

Pour plus d'informations à ce sujetrattler-build publish, consultez la documentation de publication de rattler-build sur le site web prefix.dev.

Constructions de débogage

Si une compilation échoue, rattler-build préserve le répertoire de construction afin que vous puissiez l'examiner. Exécutez la commande suivante pour ouvrir un shell interactif dans l'environnement de génération avec toutes les variables d'environnement configurées telles qu'elles étaient lors de la génération.

rattler-build debug shell

À partir du shell de débogage, vous pouvez modifier des fichiers, exécuter des commandes de génération individuelles et ajouter des dépendances pour isoler le problème. Pour plus d'informations, consultez la section Débogage des builds sur le site Web prefix.dev.

Tester le package

Après avoir créé et publié le package, créez un projet pixi temporaire. Utilisez le projet pour installer le package à partir du canal local et vérifier qu'il fonctionne correctement.

Pour tester le package
  1. Créez un répertoire de test temporaire et initialisez un projet pixi avec le canal local.

    Sur Linux etmacOS, exécutez les commandes suivantes.

    mkdir package-test-env cd package-test-env pixi init --channel file://$HOME/my-conda-channel

    Sur Windows (cmd), exécutez les commandes suivantes.

    mkdir package-test-env cd package-test-env pixi init --channel file://%USERPROFILE%/my-conda-channel
  2. Ajoutez le package au projet.

    pixi add blender=4.5
  3. Vérifiez que le package fonctionne correctement.

    pixi run blender --version

    La pixi run commande active l'environnement conda pour le répertoire du projet et exécute la commande spécifiée dans celui-ci. L'environnement persiste dans le répertoire du projet, vous pouvez donc utiliser la même pixi run commande depuis d'autres terminaux. Pour plus d'informations, consultez la pixi run commande sur le site Web de Pixi.

Lorsque vous êtes satisfait du package, vous pouvez le publier sur un canal Amazon S3 conda afin que les employés de Deadline Cloud puissent installer le package. Voir Publier des packages sur un canal S3 conda.

Supprimer des packages de la chaîne

Évitez de supprimer des packages des canaux que vous utilisez pour la production, car les fichiers de verrouillage référencent des packages spécifiques par hachage. La suppression d'un package empêche de recréer des environnements à partir de ces fichiers de verrouillage. Pour les chaînes de développement et de test, vous pouvez supprimer un package spécifique en supprimant le .conda fichier du répertoire de la chaîne, puis en réindexant la chaîne. Tout d'abord, installezrattler-index.

pixi global install rattler-index

Supprimez ensuite le fichier du package et réindexez la chaîne.

Sur Linux etmacOS, exécutez les commandes suivantes.

rm $HOME/my-conda-channel/linux-64/blender-4.5.0-hb0f4dca_1.conda rattler-index fs $HOME/my-conda-channel

Sur Windows (cmd), exécutez les commandes suivantes.

del %USERPROFILE%\my-conda-channel\win-64\blender-4.5.0-hb0f4dca_1.conda rattler-index fs %USERPROFILE%\my-conda-channel

Les fichiers de package sont stockés dans des sous-répertoires spécifiques à la plate-forme tels linux-64 que, ou. win-64 osx-arm64 Répertoriez le contenu de ces sous-répertoires pour trouver le nom de fichier exact du package que vous souhaitez supprimer.

Nettoyage

Après le test, vous pouvez supprimer le projet de test et la chaîne locale.

Pour nettoyer les ressources de test
  1. Supprimez le répertoire du projet de test.

    Sur Linux etmacOS, exécutez la commande suivante.

    rm -rf package-test-env

    Sur Windows (cmd), exécutez la commande suivante.

    rmdir /s /q package-test-env
  2. Supprimez le répertoire local du canal Conda.

    Sur Linux etmacOS, exécutez la commande suivante.

    rm -rf $HOME/my-conda-channel

    Sur Windows (cmd), exécutez la commande suivante.

    rmdir /s /q %USERPROFILE%\my-conda-channel
  3. (Facultatif) Supprimez le répertoire de rattler-build sortie qui contient le fichier de package généré.

    Sur Linux etmacOS, exécutez la commande suivante.

    rm -rf deadline-cloud-samples/conda_recipes/output

    Sur Windows (cmd), exécutez la commande suivante.

    rmdir /s /q deadline-cloud-samples\conda_recipes\output

Pour les plugins pris en charge avec des exemples de synchronisation de plugins, consultezSynchronisez les plugins avec les employés de Deadline Cloud.