Erstellen Sie ein Conda-Build-Rezept für Blender - Deadline Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie ein Conda-Build-Rezept für Blender

Sie können verschiedene Anwendungen verwenden, um ein Conda-Build-Rezept zu erstellen. Blenderist kostenlos zu verwenden und lässt sich einfach mit Conda verpacken. Die Blender Foundation stellt Anwendungsarchive für mehrere Betriebssysteme zur Verfügung. Wir haben ein Beispiel für ein Conda-Build-Rezept erstellt, das die Windows-Dateien .zip und .tar.xz für Linux verwendet. In diesem Abschnitt erfahren Sie, wie Sie das Conda-Build-Rezept von 4.2 verwenden. Blender

Die Datei deadline-cloud.yaml spezifiziert die Conda-Plattformen und andere Metadaten für die Übermittlung von Paketaufträgen an Deadline Cloud. Dieses Rezept enthält Informationen zum lokalen Quellarchiv, um zu demonstrieren, wie das funktioniert. Die Linux-64-Conda-Plattform ist so eingestellt, dass sie eine Standardkonfiguration für die Einreichung von Jobs einbaut, die der gängigsten Konfiguration entspricht. Die Datei deadline-cloud.yaml sieht etwa wie folgt aus:

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"'

Überprüfen Sie die Dateien im Verzeichnis. recipe Die Metadaten für das Rezept befinden sich in recipe/recipe.yaml. Sie können auch die Dokumentation conda build meta.yaml lesen, um mehr zu erfahren, z. B. darüber, wie die Datei eine Vorlage zur Generierung von YAML ist. Die Vorlage wird verwendet, um die Versionsnummer nur einmal anzugeben und je nach Betriebssystem unterschiedliche Werte bereitzustellen.

Sie können die unter ausgewählten Build-Optionen überprüfenmeta.yaml, um verschiedene Prüfungen für die binäre Verlagerung und das Verknüpfen von dynamischen gemeinsamen Objekten (DSO) zu deaktivieren. Diese Optionen steuern, wie das Paket funktioniert, wenn es in einer virtuellen Conda-Umgebung unter einem beliebigen Verzeichnispräfix installiert wird. Die Standardwerte vereinfachen das Verpacken jeder Abhängigkeitsbibliothek in ein separates Paket, aber wenn Sie eine Anwendung binär neu verpacken, müssen Sie sie ändern.

Wenn für die Anwendung, die Sie verpacken, zusätzliche Abhängigkeitsbibliotheken erforderlich sind oder Sie Plugins für eine Anwendung separat verpacken, können DSO-Fehler auftreten. Diese Fehler treten auf, wenn sich die Abhängigkeit nicht im Bibliothekssuchpfad für die ausführbare Datei oder Bibliothek befindet, die sie benötigt. Anwendungen sind darauf angewiesen, dass sich Bibliotheken in global definierten Pfaden wie /lib oder befinden/usr/lib, wenn sie auf einem System installiert sind. Da virtuelle Conda-Umgebungen jedoch überall platziert werden können, gibt es keinen absoluten Pfad, der verwendet werden kann. Conda verwendet relative RPATH-Funktionen, die sowohl als auch macOS unterstützt werden, um Linux dies zu handhaben. Weitere Informationen finden Sie in der Conda-Build-Dokumentation zum Verschieben von Paketen.

Blendererfordert keine RPATH-Anpassung, da die Anwendungsarchive unter Berücksichtigung dieser Tatsache erstellt wurden. Für Anwendungen, die dies benötigen, können Sie dieselben Tools verwenden wie Conda Build: patchelf unter Linux und install_name_tool anderen. macOS

Während der Paketerstellung wird das Skript build.sh oder build_win.sh (aufgerufen vonbld.bat) ausgeführt, um Dateien in einer Umgebung zu installieren, die mit den Paketabhängigkeiten vorbereitet ist. Diese Skripten kopieren die Installationsdateien, erstellen Symlinks von $PREFIX/bin ihnen und richten die Aktivierungsskripten ein. Bei aktivierter Option werden keine Symlinks erstelltWindows, sondern stattdessen das Blender-Verzeichnis zum PATH im Aktivierungsskript hinzugefügt.

Wir verwenden bash statt cmd.exe einer.bat-Datei für den Windows Teil des Conda-Build-Rezepts, da dies für mehr Konsistenz zwischen den Build-Skripten sorgt. Tipps zur Verwendung bash von finden Sie in der Empfehlung zur Workload-Portabilität im Deadline Cloud-Entwicklerhandbuch. Windows Wenn Sie Git for Windows zum Klonen des deadline-cloud-samplesGit-Repositorys installiert haben, haben Sie bereits Zugriff aufbash.

In der Dokumentation zu den Conda-Build-Umgebungsvariablen sind die Werte aufgeführt, die für die Verwendung im Build-Skript verfügbar sind. Zu diesen Werten gehören $SRC_DIR für die Quellarchivdaten, $PREFIX für das Installationsverzeichnis, für den $RECIPE_DIR Zugriff auf andere Dateien aus dem Rezept, $PKG_NAME $PKG_VERSION für den Paketnamen und die Version sowie $target_platform für die Ziel-Conda-Plattform.

Reichen Sie den Blender 4.2-Paketjob ein

Sie können Ihr eigenes Blender 4.2-Conda-Paket erstellen, um Jobs zu rendern, indem Sie das Blender Archiv herunterladen und dann einen Job an die Paketbau-Warteschlange senden. Die Warteschlange sendet den Job an die zugehörige Flotte, um das Paket zu erstellen und den Conda-Kanal neu zu indizieren.

Diese Anweisungen verwenden Git aus einer Bash-kompatiblen Shell, um einen OpenJD-Paketbaujob und einige Conda-Rezepte aus dem Deadline Cloud-Beispiel-Repository abzurufen. GitHub Sie benötigen außerdem Folgendes:

  • Wenn Sie Git verwendenWindows, wird bei der Installation von Git eine Version von Bash, git BASH, installiert.

  • Sie müssen die Deadline Cloud CLI installiert haben.

  • Sie müssen beim Deadline Cloud-Monitor angemeldet sein.

  1. Öffnen Sie die Deadline Cloud-Konfigurations-GUI mit dem folgenden Befehl und legen Sie die Standardfarm und -warteschlange auf Ihre Paketerstellungswarteschlange fest.

    deadline config gui
  2. Verwenden Sie den folgenden Befehl, um das Deadline GitHUb Cloud-Beispiel-Repository zu klonen.

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git
  3. Wechseln Sie zu dem conda_recipes Verzeichnis im deadline-cloud-samples Verzeichnis.

    cd deadline-cloud-samples/conda_recipes
  4. Führen Sie das aufgerufene Skript aussubmit-package-job. Das Skript enthält Anweisungen zum HerunterladenBlender, wenn Sie das Skript zum ersten Mal ausführen.

    ./submit-package-job blender-4.2/
  5. Folgen Sie den Anweisungen zum HerunterladenBlender. Wenn Sie das Archiv haben, führen Sie das submit-package-job Skript erneut aus.

    ./submit-package-job blender-4.2/

Nachdem Sie den Job eingereicht haben, können Sie den Deadline Cloud-Monitor verwenden, um den Fortschritt und Status des Jobs während der Ausführung zu verfolgen.

In der unteren linken Ecke des Monitors werden die beiden Schritte des Jobs angezeigt: das Erstellen des Pakets und die anschließende Neuindizierung. Unten rechts werden die einzelnen Schritte für jede Aufgabe angezeigt. In diesem Beispiel gibt es für jede Aufgabe einen Schritt.

Der Deadline Cloud-Monitor zeigt den Fortschritt und den Status eines Jobs, der das Blender Paket erstellt.

In der unteren linken Ecke des Monitors befinden sich die beiden Schritte des Jobs: das Erstellen des Pakets und das anschließende Neuindizieren des Conda-Kanals. Unten rechts befinden sich die einzelnen Aufgaben für jeden Schritt. In diesem Beispiel gibt es für jeden Schritt nur eine Aufgabe.

Wenn Sie mit der rechten Maustaste auf die Aufgabe für den Schritt zur Paketerstellung klicken und Protokolle anzeigen auswählen, zeigt der Monitor eine Liste von Sitzungsaktionen an, die zeigen, wie die Aufgabe für den Worker geplant ist. Die Aktionen sind:

  • Anlagen synchronisieren — Diese Aktion kopiert die Eingabe-Job-Anhänge oder mountet ein virtuelles Dateisystem, je nachdem, welche Einstellung für das Dateisystem mit den Job-Anhängen verwendet wurde.

  • Conda starten — Diese Aktion stammt aus der Warteschlangenumgebung, die standardmäßig hinzugefügt wurde, als Sie die Warteschlange erstellt haben. Der Job spezifiziert keine Conda-Pakete, sodass er schnell abgeschlossen wird und keine virtuelle Conda-Umgebung erstellt.

  • CondaBuild Env starten — Diese Aktion erstellt eine benutzerdefinierte virtuelle Conda-Umgebung, die die Software enthält, die zum Erstellen eines Conda-Pakets und zur Neuindizierung eines Kanals erforderlich ist. Sie wird über den Conda-Forge-Kanal installiert.

  • Aufgabe ausführen — Diese Aktion erstellt das Blender Paket und lädt die Ergebnisse auf Amazon S3 hoch.

Während die Aktionen ausgeführt werden, senden sie Protokolle in einem strukturierten Format an Amazon CloudWatch. Wenn ein Job abgeschlossen ist, wählen Sie Protokolle für alle Aufgaben anzeigen aus, um zusätzliche Protokolle über den Auf- und Abbau der Umgebung, in der der Job ausgeführt wird, einzusehen.