Pubblica pacchetti su un canale conda Amazon S3 - Deadline Cloud

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à.

Pubblica pacchetti su un canale conda Amazon S3

Puoi pubblicare pacchetti conda su un bucket Amazon Simple Storage Service (Amazon S3) in modo che gli operatori di AWS Deadline Cloud (Deadline Cloud) possano installarli per eseguire lavori. Il rattler-build publish comando funziona con Amazon S3 allo stesso modo di un canale di filesystem locale. Il comando può creare una ricetta e pubblicare il risultato oppure pubblicare un file di pacchetto già creato. In entrambi i casi, il comando carica il pacchetto nel bucket e indicizza il canale in un unico passaggio.

Il rattler-build publish comando si autentica AWS utilizzando la catena di credenziali standard, quindi utilizza la configurazione come qualsiasi altro strumento. AWS AWS Per ulteriori informazioni sulla configurazione delle credenziali, consultate Configurazione e impostazioni dei file di credenziali nella Guida per l'utente ().AWS Command Line Interface AWS CLI

Prerequisiti

Prima di pubblicare pacchetti su Amazon S3, completa i seguenti prerequisiti:

  • pixi e rattler-build: installa pixi da pixi.sh, quindi installa. rattler-build

    pixi global install rattler-build
  • git — Necessario per clonare il repository degli esempi. OnWindows, git for fornisce Windows anche una bash shell, richiesta da alcune ricette di Windows esempio.

  • Bucket Amazon S3: un bucket Amazon S3 da utilizzare come canale conda. Puoi utilizzare il bucket Job Attachments della tua Deadline Cloud farm o creare un bucket separato.

  • AWS credenziali: configura le credenziali sulla tua workstation utilizzando il comando o il comando. aws configure aws login Per ulteriori informazioni, consulta Configurazione della AWS CLI nella Guida per l'utente di AWS Command Line Interface .

  • Autorizzazioni IAM — (Facoltativo) Per ridurre l'ambito delle autorizzazioni a disposizione delle tue credenziali, puoi utilizzare una policy AWS Identity and Access Management (IAM) che concede solo le seguenti autorizzazioni sul bucket Amazon S3 e sul prefisso del canale che utilizzi (ad esempio,): /Conda/*

    • s3:GetObject

    • s3:PutObject

    • s3:DeleteObject

    • s3:ListBucket

    • s3:GetBucketLocation

Pubblicazione di un pacchetto su un canale Amazon S3

Usalo rattler-build publish con un s3:// target per pubblicare un pacchetto sul tuo canale Amazon S3 conda. Se il canale non esiste nel bucket, rattler-build inizializza automaticamente il canale. Prima di iniziare, assicuratevi di aver completato i prerequisiti.

L'esempio seguente pubblica la ricetta di esempio Blender 4.5 dal repository di esempi di Deadline Cloud su. GitHub È possibile sostituire una ricetta diversa dall'archivio degli esempi o utilizzare una ricetta personalizzata.

Per pubblicare un pacchetto su un canale Amazon S3
  1. Clona l'archivio di esempi di Deadline Cloud.

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git
  2. Passare alla directory conda_recipes.

    cd deadline-cloud-samples/conda_recipes
  3. Eseguire il seguente comando seguente. Sostituiscilo amzn-s3-demo-bucket con il nome del tuo bucket.

    Su Linux emacOS, esegui il seguente comando.

    rattler-build publish blender-4.5/recipe/recipe.yaml \ --to s3://amzn-s3-demo-bucket/Conda/Default

    Su Windows (cmd), esegui il comando seguente.

    rattler-build publish blender-4.5/recipe/recipe.yaml ^ --to s3://amzn-s3-demo-bucket/Conda/Default

    Il /Conda/Default prefisso organizza il canale all'interno del bucket. È possibile utilizzare un prefisso diverso, ma il prefisso deve essere coerente in tutti i comandi e le configurazioni di coda che fanno riferimento al canale.

Per ricostruire e pubblicare un pacchetto aggiornato, aggiungilo --build-number=+1 per incrementare automaticamente il numero di build.

rattler-build publish blender-4.5/recipe/recipe.yaml \ --to s3://amzn-s3-demo-bucket/Conda/Default \ --build-number=+1

Se la ricetta del pacchetto dipende dai pacchetti di un canale particolare, come conda-forge, aggiungila al comando. -c conda-forge

Puoi anche pubblicare un file di pacchetto che hai già creato, ad esempio un .conda file da una build locale. amzn-s3-demo-bucketSostituiscilo con il nome del tuo bucket.

rattler-build publish output/linux-64/blender-4.5.0-hb0f4dca_0.conda \ --to s3://amzn-s3-demo-bucket/Conda/Default

Test del pacchetto

Dopo aver pubblicato il pacchetto, create un progetto pixi temporaneo per verificare che il pacchetto funzioni correttamente. Il progetto installa il pacchetto dal canale Amazon S3.

Per testare il pacchetto
  1. Crea una directory di test temporanea e inizializza un progetto pixi con il canale Amazon S3. Sostituiscilo amzn-s3-demo-bucket con il nome del tuo bucket.

    mkdir package-test-env cd package-test-env pixi init --channel s3://amzn-s3-demo-bucket/Conda/Default
  2. Aggiungi il pacchetto al progetto.

    pixi add blender=4.5
  3. Verifica che il pacchetto funzioni correttamente.

    pixi run blender --version

Pulizia

Dopo il test, rimuovi la directory del progetto di test.

Per ripulire le risorse di test
  • 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

Compilazioni di debug

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 build nella documentazione di rattler-build.

Creazione di pacchetti per altre piattaforme

Il rattler-build publish comando crea pacchetti per il sistema operativo della workstation su cui viene eseguito il comando. Se la tua flotta Deadline Cloud utilizza un sistema operativo diverso da quello della tua workstation o se il tuo pacchetto ha altri requisiti di host, hai le seguenti opzioni:

  • Esegui rattler-build publish su un host che corrisponde al sistema operativo di destinazione. Ad esempio, usa un'istanza Amazon Elastic Compute Cloud (Amazon EC2) in Linux esecuzione per creare pacchetti per una flotta. Linux

  • Usa una coda di creazione di pacchetti Deadline Cloud per automatizzare le build sulla piattaforma di destinazione. Vedi Creare una coda per la creazione di pacchetti.

  • (Avanzato) Usa la compilazione incrociata per creare pacchetti per una piattaforma diversa dalla tua workstation. Per ulteriori informazioni, consulta la compilazione incrociata nella documentazione di rattler-build.

Fasi successive

Dopo aver pubblicato i pacchetti sul tuo canale Amazon S3 conda, configura le code di Deadline Cloud per utilizzare il canale: