

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Compila e testa i pacchetti localmente
<a name="build-test-packages-locally"></a>

Prima di pubblicare pacchetti su Amazon S3 o configurare CI/CD l'automazione nella tua farm Deadline Cloud, puoi creare e testare pacchetti conda sulla tua workstation utilizzando un canale di file system locale. Questo approccio consente di iterare rapidamente a livello locale sulle ricette e verificare i pacchetti.

Il `rattler-build publish` comando crea una ricetta, copia il pacchetto risultante su un canale e indicizza il canale in un unico passaggio. Quando si sceglie come destinazione una directory del filesystem locale, `rattler-build` crea e inizializza automaticamente il canale se la directory non esiste.

Le seguenti istruzioni utilizzano la ricetta di esempio Blender 4.5 contenuta nell'archivio degli esempi di [Deadline](https://github.com/aws-deadline/deadline-cloud-samples) Cloud. GitHub Puoi sostituire una ricetta diversa dall'archivio degli esempi o utilizzare la tua ricetta.

## Prerequisiti
<a name="build-test-locally-prereqs"></a>

Prima di iniziare, installa i seguenti strumenti sulla tua workstation:
+ **pixi** — Un gestore di pacchetti utilizzato per installare `rattler-build` e testare i pacchetti. [Installa pixi da pixi.sh.](https://pixi.sh)
+ **rattler-build** — Lo strumento per la creazione di pacchetti utilizzato dalle ricette conda di Deadline Cloud. Dopo aver installato pixi, esegui il seguente comando per l'installazione. `rattler-build`

  ```
  pixi global install rattler-build
  ```
+ **git** — Necessario per clonare il repository degli esempi. OnWindows, [git for](https://gitforwindows.org/) fornisce Windows anche una `bash` shell, richiesta da alcune ricette di Windows esempio.

## Creazione e pubblicazione di un pacchetto su un canale locale
<a name="build-test-locally-build"></a>

In questa procedura, cloni il repository di esempi di Deadline Cloud e lo usi `rattler-build publish` per creare e pubblicare il pacchetto su un canale di filesystem locale.

**Per creare e pubblicare un pacchetto su un canale locale**

1. Clona il repository di esempi di Deadline Cloud.

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

1. Passare alla directory `conda_recipes`.

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

1. Esegui il comando seguente per creare la ricetta Blender 4.5 e pubblicare il pacchetto in una directory di canale locale.

   Su Linux emacOS, esegui il seguente comando.

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

   Su Windows (cmd), esegui il comando seguente.

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

   Il `rattler-build publish` comando esegue le seguenti azioni:
   + Crea il pacchetto a partire dalla ricetta.
   + Crea la directory dei canali se la directory non esiste.
   + Copia il file del pacchetto sul canale.
   + Indicizza il canale in modo che i gestori di pacchetti possano trovare il pacchetto.

   Se la ricetta del pacchetto dipende dai pacchetti di un canale particolare, come [conda-forge](https://conda-forge.org/), aggiungila al comando. `-c conda-forge`

Per ricostruire il pacchetto dopo aver apportato modifiche alla ricetta, aggiungi per `--build-number=+1` incrementare automaticamente il numero di build.

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

Per ulteriori informazioni in merito`rattler-build publish`, consulta la documentazione di [rattler-build](https://rattler-build.prefix.dev/latest/publish/) publish.

## Compilazioni di debug
<a name="build-test-locally-debug"></a>

Se una compilazione fallisce, `rattler-build` conserva la directory di compilazione in modo da poter indagare. Esegui il comando seguente per aprire una shell interattiva nell'ambiente di compilazione con tutte le variabili di ambiente impostate com'erano durante la compilazione.

```
rattler-build debug shell
```

Dalla shell di debug, puoi modificare i file, eseguire singoli comandi di compilazione e aggiungere dipendenze per isolare il problema. Per ulteriori informazioni, consulta [Debugging](https://rattler-build.prefix.dev/latest/debugging_builds/) build nella documentazione di rattler-build.

## Test del pacchetto
<a name="build-test-locally-test"></a>

Dopo aver creato e pubblicato il pacchetto, create un progetto pixi temporaneo. Utilizzate il progetto per installare il pacchetto dal canale locale e verificare che funzioni correttamente.

**Per testare il pacchetto**

1. Crea una directory di test temporanea e inizializza un progetto pixi con il canale locale.

   Su Linux emacOS, esegui i seguenti comandi.

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

   Su Windows (cmd), esegui i seguenti comandi.

   ```
   mkdir package-test-env
   cd package-test-env
   pixi init --channel file://%USERPROFILE%/my-conda-channel
   ```

1. Aggiungi il pacchetto al progetto.

   ```
   pixi add blender=4.5
   ```

1. Verifica che il pacchetto funzioni correttamente.

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

Quando sei soddisfatto del pacchetto, puoi pubblicarlo su un canale conda di Amazon S3 in modo che gli operatori di Deadline Cloud possano installare il pacchetto. Vedi [Pubblicare pacchetti su un canale conda S3](publish-packages-s3-channel.md).

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

Dopo il test, puoi rimuovere il progetto di test e il canale locale.

**Per ripulire le risorse di test**

1. Rimuovi la directory del progetto di test.

   Su Linux emacOS, esegui il seguente comando.

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

   Su Windows (cmd), esegui il comando seguente.

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

1. Rimuovi la directory del canale conda locale.

   Su Linux emacOS, esegui il seguente comando.

   ```
   rm -rf $HOME/my-conda-channel
   ```

   Su Windows (cmd), esegui il comando seguente.

   ```
   rmdir /s /q %USERPROFILE%\my-conda-channel
   ```

1. (Facoltativo) Rimuove la directory `rattler-build` di output che contiene il file del pacchetto creato.

   Su Linux emacOS, esegui il comando seguente.

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

   Su Windows (cmd), esegui il comando seguente.

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