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.
Pakete lokal erstellen und testen
Bevor Sie Pakete auf Amazon S3 veröffentlichen oder die CI/CD Automatisierung auf Ihrer Deadline Cloud-Farm einrichten, können Sie Conda-Pakete auf Ihrer Workstation mithilfe eines lokalen Dateisystemkanals erstellen und testen. Mit diesem Ansatz können Sie schnell lokal an Rezepten iterieren und Pakete verifizieren.
Der rattler-build publish Befehl erstellt ein Rezept, kopiert das resultierende Paket in einen Channel und indexiert den Channel in einem Schritt. Wenn Sie auf ein lokales Dateisystemverzeichnis abzielen, rattler-build wird der Channel automatisch erstellt und initialisiert, falls das Verzeichnis nicht existiert.
In den folgenden Anweisungen wird das Blender 4.5-Beispielrezept aus dem Deadline Cloud-Beispiel-Repository
Voraussetzungen
Bevor Sie beginnen, installieren Sie die folgenden Tools auf Ihrer Workstation:
-
pixi — Ein Paketmanager, den Sie zum Installieren
rattler-buildund Testen von Paketen verwenden. Anweisungen zur Installation finden Sie unter pixi.shauf der Pixi-Website. -
rattler-build — Das Tool zum Erstellen von Paketen, das von Deadline Cloud Conda Recipes verwendet wird. Nachdem Sie Pixi installiert haben, führen Sie zur Installation den folgenden Befehl aus.
rattler-buildpixi global install rattler-build -
git — Erforderlich, um das Beispiel-Repository zu klonen. OnWindows, Git for Windows
auf der Git for Windows-Website bietet auch eine bashShell, die für einige der Windows Beispielrezepte erforderlich ist.
Ein Paket erstellen und auf einem lokalen Channel veröffentlichen
In diesem Verfahren klonen Sie das Deadline Cloud-Beispiel-Repository und verwenden esrattler-build publish, um das Paket zu erstellen und in einem lokalen Dateisystem-Channel zu veröffentlichen.
Anmerkung
Große Anwendungen können mehrere zehn GB freien Festplattenspeicher für das Quellarchiv, die entpackten Dateien und die Build-Ausgabe benötigen. Stellen Sie sicher, dass Sie eine Festplatte mit ausreichend verfügbarem Speicherplatz für die Paket-Build-Ausgabe verwenden.
Um ein Paket zu erstellen und auf einem lokalen Channel zu veröffentlichen
-
Klonen Sie das Deadline Cloud-Beispiel-Repository.
git clone https://github.com/aws-deadline/deadline-cloud-samples.git -
Wechseln Sie in das
conda_recipes-Verzeichnis.cd deadline-cloud-samples/conda_recipes -
Führen Sie den folgenden Befehl aus, um das Blender 4.5-Rezept zu erstellen und das Paket in einem lokalen Channel-Verzeichnis zu veröffentlichen.
Führen Sie macOS unter Linux und den folgenden Befehl aus.
rattler-build publish blender-4.5/recipe/recipe.yaml \ --to file://$HOME/my-conda-channel \ --build-number=+1Führen Sie unter Windows (cmd) den folgenden Befehl aus.
rattler-build publish blender-4.5/recipe/recipe.yaml ^ --to file://%USERPROFILE%/my-conda-channel ^ --build-number=+1Der
rattler-build publishBefehl führt die folgenden Aktionen aus:-
Erstellt das Paket anhand des Rezepts.
-
Erstellt das Kanalverzeichnis, falls das Verzeichnis nicht existiert.
-
Kopiert die Paketdatei in den Channel.
-
Indiziert den Kanal, sodass Paketmanager das Paket finden können.
Wenn Ihr Paketrezept von Paketen aus einem bestimmten Kanal abhängt, wie z. B. conda-forge
auf der conda-forge-Website, fügen Sie dem Befehl etwas hinzu. -c conda-forge -
Über Build-Nummern
Die --build-number=+1 Option wählt automatisch die nächste Build-Nummer auf der Grundlage dessen aus, was bereits im Zielkanal vorhanden ist. Es hat sich bewährt, niemals ein Paket in einem Channel zu überschreiben. Bauen Sie immer mit einer neuen Build-Nummer, wenn das Paket sonst denselben Dateinamen hätte. Mit --build-number=+1 Using wird dies erreicht, wenn Sie für einen Produktionskanal oder einen Staging-Channel bauen, der die Produktion widerspiegelt.
Wenn Sie die Build-Nummer direkt steuern möchten, können Sie sie mit einem bestimmten Wert festlegen, z. B. --build-number=7 Wenn Sie die Option weglassen, rattler-build wird die in der recipe.yaml Datei definierte Buildnummer verwendet.
Weitere Informationen rattler-build publish dazu finden Sie in der Rattler-Build-Veröffentlichungsdokumentation
Debuggen von Builds
Wenn ein Build fehlschlägt, wird rattler-build das Build-Verzeichnis beibehalten, sodass Sie es untersuchen können. Führen Sie den folgenden Befehl aus, um eine interaktive Shell in der Build-Umgebung zu öffnen, in der alle Umgebungsvariablen so eingerichtet sind, wie sie während des Builds waren.
rattler-build debug shell
Von der Debug-Shell aus können Sie Dateien ändern, einzelne Build-Befehle ausführen und Abhängigkeiten hinzufügen, um das Problem zu isolieren. Weitere Informationen finden Sie unter Debuggen von Builds
Das Paket testen
Nachdem Sie das Paket erstellt und veröffentlicht haben, erstellen Sie ein temporäres Pixi-Projekt. Verwenden Sie das Projekt, um das Paket über den lokalen Channel zu installieren und zu überprüfen, ob es ordnungsgemäß funktioniert.
Um das Paket zu testen
-
Erstellen Sie ein temporäres Testverzeichnis und initialisieren Sie ein Pixi-Projekt mit dem lokalen Channel.
Führen Sie auf Linux und macOS die folgenden Befehle aus.
mkdir package-test-env cd package-test-env pixi init --channel file://$HOME/my-conda-channelFühren Sie unter Windows (cmd) die folgenden Befehle aus.
mkdir package-test-env cd package-test-env pixi init --channel file://%USERPROFILE%/my-conda-channel -
Fügen Sie das Paket dem Projekt hinzu.
pixi add blender=4.5 -
Stellen Sie sicher, dass das Paket ordnungsgemäß funktioniert.
pixi run blender --versionDer
pixi runBefehl aktiviert die Conda-Umgebung für das Projektverzeichnis und führt den darin angegebenen Befehl aus. Die Umgebung bleibt im Projektverzeichnis erhalten, sodass Sie denselbenpixi runBefehl von anderen Terminals aus verwenden können. Weitere Informationen finden Sie unter dempixi runBefehlauf der Pixi-Website.
Wenn Sie mit dem Paket zufrieden sind, können Sie das Paket auf einem Amazon S3-Conda-Kanal veröffentlichen, damit die Mitarbeiter von Deadline Cloud das Paket installieren können. Siehe Veröffentlichen von Paketen auf einem S3-Conda-Kanal.
Pakete aus dem Channel entfernen
Vermeiden Sie es, Pakete aus Kanälen zu entfernen, die Sie für die Produktion verwenden, da Lockfiles durch Hash auf bestimmte Pakete verweisen. Durch das Entfernen eines Pakets wird verhindert, dass Umgebungen anhand dieser Sperrdateien neu erstellt werden. Für Entwicklungs- und Testkanäle können Sie ein bestimmtes Paket entfernen, indem Sie die .conda Datei aus dem Channel-Verzeichnis löschen und den Channel dann erneut indexieren. Installieren Sie zuerst. rattler-index
pixi global install rattler-index
Löschen Sie dann die Paketdatei und indizieren Sie den Kanal erneut.
Führen Sie auf Linux macOS und die folgenden Befehle aus.
rm $HOME/my-conda-channel/linux-64/blender-4.5.0-hb0f4dca_1.conda rattler-index fs $HOME/my-conda-channel
Führen Sie unter Windows (cmd) die folgenden Befehle aus.
del %USERPROFILE%\my-conda-channel\win-64\blender-4.5.0-hb0f4dca_1.conda rattler-index fs %USERPROFILE%\my-conda-channel
Paketdateien werden in plattformspezifischen Unterverzeichnissen wielinux-64, oder gespeichert. win-64 osx-arm64 Listen Sie den Inhalt dieser Unterverzeichnisse auf, um den genauen Dateinamen des Pakets zu finden, das Sie entfernen möchten.
Bereinigen
Nach dem Testen können Sie das Testprojekt und den lokalen Channel entfernen.
Um die Testressourcen zu bereinigen
-
Entfernen Sie das Testprojektverzeichnis.
Führen Sie auf Linux und macOS den folgenden Befehl aus.
rm -rf package-test-envFühren Sie unter Windows (cmd) den folgenden Befehl aus.
rmdir /s /q package-test-env -
Entfernen Sie das lokale Conda-Kanalverzeichnis.
Führen Sie auf Linux macOS und den folgenden Befehl aus.
rm -rf $HOME/my-conda-channelFühren Sie unter Windows (cmd) den folgenden Befehl aus.
rmdir /s /q %USERPROFILE%\my-conda-channel -
(Optional) Entfernen Sie das
rattler-buildAusgabeverzeichnis, das die erstellte Paketdatei enthält.Führen Sie auf Linux und macOS den folgenden Befehl aus.
rm -rf deadline-cloud-samples/conda_recipes/outputFühren Sie unter Windows (cmd) den folgenden Befehl aus.
rmdir /s /q deadline-cloud-samples\conda_recipes\output
Unterstützte Plugins mit Beispielen für die Plugin-Synchronisierung finden Sie unterSynchronisieren Sie Plugins mit Deadline Cloud-Mitarbeitern.