

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
<a name="build-test-packages-locally"></a>

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, `rattler-build` crée et initialise le canal automatiquement si le répertoire n'existe pas.

Les instructions suivantes utilisent l'exemple de recette Blender 4.5 provenant du référentiel d'[exemples de Deadline Cloud](https://github.com/aws-deadline/deadline-cloud-samples) surGitHub. Vous pouvez remplacer une recette différente depuis le référentiel d'échantillons ou utiliser votre propre recette.

## Conditions préalables
<a name="build-test-locally-prereqs"></a>

Avant de commencer, installez les outils suivants sur votre poste de travail :
+ **pixi** — Un gestionnaire de paquets que vous utilisez pour installer `rattler-build` et tester des packages. Installez pixi depuis [pixi.sh](https://pixi.sh).
+ **rattler-build** — L'outil de création de packages utilisé par Deadline Cloud Conda Recipes. Après avoir installé Pixi, exécutez la commande suivante pour effectuer l'installation`rattler-build`.

  ```
  pixi global install rattler-build
  ```
+ **git** — Nécessaire pour cloner le dépôt d'échantillons. WindowsActivé, [git for](https://gitforwindows.org/) fournit Windows également un `bash` shell, ce dont certains Windows exemples de recettes ont besoin.

## Création et publication d'un package sur une chaîne locale
<a name="build-test-locally-build"></a>

Dans cette procédure, vous clonez le référentiel d'échantillons de 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.

**Pour créer et publier un package sur une chaîne locale**

1. Clonez le référentiel d'échantillons de Deadline Cloud.

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

1. Passez au répertoire `conda_recipes`.

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

1. Exécutez la commande suivante pour créer la recette Blender 4.5 et publier le package dans un répertoire de canaux local.

   LinuxActivé macOS et exécutez la commande suivante.

   ```
   rattler-build publish blender-4.5/recipe/recipe.yaml \
       --to file://$HOME/my-conda-channel
   ```

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

   ```
   rattler-build publish blender-4.5/recipe/recipe.yaml ^
       --to file://%USERPROFILE%/my-conda-channel
   ```

   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 le canal.
   + 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, tel que [conda-forge](https://conda-forge.org/), ajoutez-le `-c conda-forge` à la commande.

Pour reconstruire le package après avoir apporté des modifications à la recette, ajoutez-le `--build-number=+1` pour incrémenter automatiquement le numéro de version.

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

Pour plus d'informations`rattler-build publish`, consultez la documentation de publication de [Rattler-build](https://rattler-build.prefix.dev/latest/publish/).

## Débogage des versions
<a name="build-test-locally-debug"></a>

En cas d'échec d'une compilation, `rattler-build` préserve le répertoire de compilation afin que vous puissiez l'examiner. Exécutez la commande suivante pour ouvrir un shell interactif dans l'environnement de construction 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 compilation individuelles et ajouter des dépendances pour isoler le problème. Pour plus d'informations, consultez la section [Débogage des versions](https://rattler-build.prefix.dev/latest/debugging_builds/) dans la documentation de Rattler-build.

## Tester le package
<a name="build-test-locally-test"></a>

Après avoir créé et publié le package, créez un projet pixi temporaire. Utilisez le projet pour installer le package depuis le canal local et vérifiez 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.

   LinuxActivez macOS et 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
   ```

1. Ajoutez le package au projet.

   ```
   pixi add blender=4.5
   ```

1. Vérifiez que le package fonctionne correctement.

   ```
   pixi run blender --version
   ```

Lorsque vous êtes satisfait du package, vous pouvez le publier sur un canal conda Amazon S3 afin que les employés de Deadline Cloud puissent l'installer. Voir [Publier des packages sur un canal conda S3](publish-packages-s3-channel.md).

## Nettoyage
<a name="build-test-locally-cleanup"></a>

Après le test, vous pouvez supprimer le projet de test et le canal local.

**Pour nettoyer les ressources de test**

1. Supprimez le répertoire du projet de test.

   LinuxActivé macOS et exécutez la commande suivante.

   ```
   rm -rf package-test-env
   ```

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

   ```
   rmdir /s /q package-test-env
   ```

1. Supprimez le répertoire local des chaînes Conda.

   LinuxActivé macOS et 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
   ```

1. (Facultatif) Supprimez le répertoire `rattler-build` de sortie qui contient le fichier de package créé.

   LinuxActivé macOS et 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
   ```