

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 une recette de construction de conda pour Blender
<a name="create-conda-recipe-blender"></a>

Vous pouvez utiliser différentes applications pour créer une recette de construction conda. Blenderest gratuit et facile à emballer avec conda. La Blender Fondation fournit des [archives d'applications](https://download.blender.org/release/Blender4.2/) pour plusieurs systèmes d'exploitation. Nous avons créé un exemple de recette de compilation de conda qui utilise les fichiers .zip pour Windows et .tar.xz pour Linux. Dans cette section, découvrez comment utiliser la [recette de construction de conda Blender 4.2](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2). 

Le fichier [deadline-cloud.yaml](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2) spécifie les plateformes conda et les autres métadonnées permettant de soumettre des tâches de package à Deadline Cloud. Cette recette inclut des informations d'archives de sources locales pour montrer comment cela fonctionne. La plate-forme Conda Linux-64 est configurée pour intégrer une soumission de tâche par défaut correspondant à la configuration la plus courante. Le fichier deadline-cloud.yaml ressemble à ce qui suit : 

```
condaPlatforms:
  - platform: linux-64
    defaultSubmit: true
    sourceArchiveFilename: blender-4.2.1-linux-x64.tar.xz
    sourceDownloadInstructions: 'Run "curl -LO https://download.blender.org/release/Blender4.2/blender-4.2.1-linux-x64.tar.xz"'
  - platform: win-64
    defaultSubmit: false
    sourceArchiveFilename: blender-4.2.1-windows-x64.zip
    sourceDownloadInstructions: 'Run "curl -LO https://download.blender.org/release/Blender4.2/blender-4.2.1-windows-x64.zip"'
```

Passez en revue les fichiers du `recipe` répertoire. Les métadonnées de la recette se trouvent dans [recipe/recipe.yaml](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2/recipe/recipe.yaml). Vous pouvez également lire la documentation [meta.yaml](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html) de conda build pour en savoir plus, notamment en quoi le fichier est un modèle pour générer du YAML. Le modèle est utilisé pour spécifier le numéro de version une seule fois et pour fournir différentes valeurs en fonction du système d'exploitation. 

Vous pouvez consulter les options de construction sélectionnées `meta.yaml` pour désactiver diverses vérifications de relocalisation binaire et de liaison d'objets partagés dynamiques (DSO). Ces options contrôlent le fonctionnement du package lorsqu'il est installé dans un environnement virtuel Conda, quel que soit le préfixe de répertoire. Les valeurs par défaut simplifient l'empaquetage de chaque bibliothèque de dépendances dans un package distinct, mais lors du reconditionnement binaire d'une application, vous devez les modifier. 

Si l'application que vous empaquetez nécessite des bibliothèques de dépendances supplémentaires ou si vous empaquetez des plug-ins pour une application séparément, vous risquez de rencontrer des erreurs DSO. Ces erreurs se produisent lorsque la dépendance ne figure pas dans le chemin de recherche de la bibliothèque pour l'exécutable ou la bibliothèque qui en a besoin. Les applications reposent sur le fait que les bibliothèques se trouvent dans des chemins définis globalement`/usr/lib`, par exemple `/lib` ou lorsqu'elles sont installées sur un système. Cependant, comme les environnements virtuels conda peuvent être placés n'importe où, il n'y a pas de chemin absolu à utiliser. Conda utilise des fonctionnalités RPATH relatives, qui sont à la fois compatibles Linux et prises macOS en charge, pour gérer cela. Reportez-vous à la documentation de construction de conda sur la [relocalisation des packages pour plus d'informations](https://docs.conda.io/projects/conda-build/en/latest/resources/make-relocatable.html).

Blenderne nécessite aucun ajustement RPATH, car les archives de l'application ont été créées dans cette optique. Pour les applications qui en ont besoin, vous pouvez utiliser les mêmes outils que conda build : sur Linux et `patchelf` `install_name_tool` sur macOS d'autres.

Lors de la création du package, le script [build.sh](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2/recipe/build.sh) ou [build\$1win.sh](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/blender-4.2/recipe/build_win.sh) (appelé par`bld.bat`) s'exécute pour installer les fichiers dans un environnement préparé avec les dépendances du package. Ces scripts copient les fichiers d'installation, créent des liens symboliques à partir de `$PREFIX/bin` ceux-ci et configurent les scripts d'activation. WindowsActivé, il ne crée pas de liens symboliques mais ajoute le répertoire Blender au PATH dans le script d'activation.

Nous utilisons `bash` plutôt un fichier `cmd.exe` .bat pour la Windows partie de la recette de construction de conda, car cela permet une plus grande cohérence entre les scripts de construction. Consultez les recommandations du [guide du développeur de Deadline Cloud sur la](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/what-is-a-deadline-cloud-workload.html#workload-portability) portabilité de la charge de travail pour obtenir des conseils `bash` d'utilisationWindows. Si vous avez installé [git for Windows pour](https://gitforwindows.org/) cloner le dépôt [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/)git, vous y avez déjà accès`bash`. 

La documentation des [variables d'environnement de construction de conda](https://docs.conda.io/projects/conda-build/en/latest/user-guide/environment-variables.html) répertorie les valeurs disponibles pour une utilisation dans le script de construction. Ces valeurs incluent `$SRC_DIR` les données d'archive source, `$PREFIX` le répertoire d'installation, l'accès `$RECIPE_DIR` à d'autres fichiers à partir de la recette, le nom `$PKG_NAME` et `$PKG_VERSION` la version du package, ainsi `$target_platform` que la plate-forme conda cible. 

## Soumettre le package job Blender 4.2
<a name="s3-channel-build-blender"></a>

Vous pouvez créer votre propre package conda Blender 4.2 pour générer des tâches, en téléchargeant l'Blenderarchive puis en soumettant une tâche à la file d'attente de création du package. La file d'attente envoie le travail à la flotte associée pour créer le package et réindexer le canal conda.

Ces instructions utilisent git depuis un shell compatible avec Bash pour obtenir une tâche de création de package OpenJD et des recettes de conda depuis le référentiel d'exemples de [Deadline](https://github.com/aws-deadline/deadline-cloud-samples) Cloud. GitHub Vous avez également besoin des éléments suivants :
+ Si vous l'utilisezWindows, une version de bash, git BASH, est installée lors de l'installation de git.
+ La [CLI Deadline Cloud](https://github.com/aws-deadline/deadline-cloud) doit être installée.
+ Vous devez être connecté au [moniteur Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/working-with-deadline-monitor.html).

1. Ouvrez l'interface graphique de configuration de Deadline Cloud à l'aide de la commande suivante et définissez le parc et la file d'attente par défaut sur la file d'attente de création de votre package.

   ```
   deadline config gui
   ```

1. Utilisez la commande suivante pour cloner le GitHUb référentiel d'échantillons de Deadline Cloud.

   ```
   git clone https://github.com/aws-deadline/deadline-cloud-samples.git
   ```

1. Accédez au `conda_recipes` répertoire dans le `deadline-cloud-samples` répertoire.

   ```
   cd deadline-cloud-samples/conda_recipes
   ```

1. Exécutez le script appelé`submit-package-job`. Le script fournit des instructions pour Blender le téléchargement lors de sa première exécution.

   ```
   ./submit-package-job blender-4.2/
   ```

1. Suivez les instructions de téléchargementBlender. Lorsque vous avez l'archive, réexécutez le `submit-package-job` script.

   ```
   ./submit-package-job blender-4.2/
   ```

Après avoir soumis la tâche, utilisez le moniteur Deadline Cloud pour voir la progression et le statut de la tâche au fur et à mesure de son exécution.

Le coin inférieur gauche de l'écran montre les deux étapes de la tâche, à savoir la création du package, puis la réindexation. Le coin inférieur droit indique les différentes étapes de chaque tâche. Dans cet exemple, chaque tâche comporte une étape.

![\[Le moniteur Deadline Cloud indiquant la progression et le statut d'une tâche de création du Blender package.\]](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/developerguide/images/Conda-Figure3.png)


Dans le coin inférieur gauche du moniteur se trouvent les deux étapes du travail : créer le package puis réindexer le canal conda. En bas à droite se trouvent les tâches individuelles pour chaque étape. Dans cet exemple, il n'y a qu'une seule tâche pour chaque étape.

Lorsque vous cliquez avec le bouton droit sur la tâche correspondant à l'étape de création du package et que vous choisissez **Afficher les journaux**, le moniteur affiche une liste des actions de session indiquant comment la tâche est planifiée pour le travailleur. Les actions sont les suivantes :
+ **Synchroniser les pièces jointes** : cette action copie les pièces jointes d'entrée ou monte un système de fichiers virtuel, selon le paramètre utilisé pour le système de fichiers des pièces jointes aux tâches.
+ **Lancer Conda** — Cette action provient de l'environnement de file d'attente ajouté par défaut lors de la création de la file d'attente. La tâche ne spécifie aucun package conda, elle se termine donc rapidement et ne crée pas d'environnement virtuel conda.
+ **Launch CondaBuild Env** — Cette action crée un environnement virtuel Conda personnalisé qui inclut le logiciel nécessaire pour créer un package Conda et réindexer un canal. Il s'installe depuis le canal [conda-forge](https://conda-forge.org/).
+ **Exécution de la tâche** : cette action crée le Blender package et télécharge les résultats sur Amazon S3.

Au fur et à mesure que les actions s'exécutent, elles envoient des journaux dans un format structuré à Amazon CloudWatch. Lorsqu'une tâche est terminée, sélectionnez **Afficher les journaux de toutes les tâches pour** voir les journaux supplémentaires relatifs à la configuration et au démantèlement de l'environnement dans lequel la tâche s'exécute.

# Testez votre package avec une tâche de rendu Blender 4.2
<a name="s3-channel-submit-job"></a>

Une fois le package Blender 4.2 créé et votre file d'attente de production configurée pour utiliser le canal conda S3, vous pouvez soumettre des tâches à afficher avec le package. Si vous n'avez pas de Blender scène, téléchargez la scène Blender 3.5 - Cozy Kitchen depuis la page [des fichiers de Blender démonstration](https://www.blender.org/download/demo-files).

Le GitHub référentiel d'exemples de Deadline Cloud que vous avez téléchargé précédemment contient un exemple de tâche permettant de rendre une Blender scène à l'aide des commandes suivantes :

```
deadline bundle submit blender_render \
     -p CondaPackages=blender=4.2 \
     -p BlenderSceneFile=/path/to/downloaded/blender-3.5-splash.blend \
     -p Frames=1
```

Vous pouvez utiliser le moniteur Deadline Cloud pour suivre l'avancement de votre travail :

1. Sur le moniteur, sélectionnez la tâche correspondant au travail que vous avez soumis, puis sélectionnez l'option permettant d'afficher le journal.

1. Sur le côté droit de la vue du journal, sélectionnez l'action **Lancer la session Conda**.

Vous pouvez voir que l'action a recherché Blender 4.2 dans les deux canaux conda configurés pour l'environnement de file d'attente, et qu'elle a trouvé le package dans le canal S3.