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 Kanal automatisch erstellt und initialisiert, falls das Verzeichnis nicht existiert.
Die folgenden Anweisungen verwenden 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. Installiere Pixi aus der Datei pixi.sh. -
rattler-build — Das Tool zur Paketerstellung, das von Deadline Cloud Conda Recipes verwendet wird. Führen Sie nach der Installation von Pixi den folgenden Befehl aus, um Pixi zu installieren.
rattler-buildpixi global install rattler-build -
git — Erforderlich, um das Beispiel-Repository zu klonen. OnWindows, git for
bietet Windows auch eine bashShell, die einige der Windows Beispielrezepte benötigen.
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 Dateisystemkanal zu veröffentlichen.
Anmerkung
Große Anwendungen können Dutzende 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 Paketbauausgabe 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 auf 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:-
Baut das Paket anhand des Rezepts auf.
-
Erzeugt 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
, fügen Sie dem Befehl etwas -c conda-forgehinzu. -
Über Build-Nummern
Die --build-number=+1 Option wählt automatisch die nächste Build-Nummer auf der Grundlage der bereits im Zielkanal vorhandenen Build-Nummer aus. Es hat sich bewährt, ein Paket in einem Channel niemals zu überschreiben. Verwenden Sie beim Erstellen immer eine neue Build-Nummer, wenn das Paket andernfalls denselben Dateinamen hätte. Mit --build-number=+1 Using wird dies erreicht, wenn Sie auf einen Produktionskanal oder einen Staging-Channel aufbauen, der die Produktion widerspiegelt.
Wenn Sie die Build-Nummer direkt steuern möchten, können Sie ihr einen bestimmten Wert zuweisen, z. B. --build-number=7 Wenn Sie die Option weglassen, rattler-build wird die in der recipe.yaml Datei definierte Buildnummer verwendet.
Weitere Informationen zu finden Sie in der rattler-build publish Dokumentation zur Veröffentlichung von Rattler-Build
Builds debuggen
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
In der Debug-Shell 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 in der Rattler-Build-Dokumentation
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 vom lokalen Kanal aus 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 Kanal.
Führen Sie unter 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 auf 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 angegebenen Befehl darin aus. Die Umgebung bleibt im Projektverzeichnis bestehen, sodass Sie denselben pixi runBefehl von anderen Terminals aus verwenden können.
Wenn Sie mit dem Paket zufrieden sind, können Sie das Paket in einem Amazon S3 S3-Conda-Kanal veröffentlichen, sodass Deadline Cloud-Mitarbeiter das Paket installieren können. Weitere Informationen finden Sie unter Pakete in einem S3-Conda-Kanal veröffentlichen.
Pakete aus dem Channel entfernen
Vermeiden Sie es, Pakete aus Kanälen zu entfernen, die Sie für die Produktion verwenden, da Lockfiles per 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 Kanalverzeichnis löschen und den Kanal anschließend erneut indizieren. 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 unter 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 auf 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, win-64 oder gespeichert. 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 Testressourcen zu bereinigen
-
Entfernen Sie das Testprojektverzeichnis.
Führen Sie macOS unter Linux und den folgenden Befehl aus.
rm -rf package-test-envFühren Sie auf Windows (cmd) den folgenden Befehl aus.
rmdir /s /q package-test-env -
Entfernen Sie das lokale Conda-Kanalverzeichnis.
Führen Sie unter Linux macOS und den folgenden Befehl aus.
rm -rf $HOME/my-conda-channelFühren Sie auf 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 macOS unter Linux und den folgenden Befehl aus.
rm -rf deadline-cloud-samples/conda_recipes/outputFühren Sie auf Windows (cmd) den folgenden Befehl aus.
rmdir /s /q deadline-cloud-samples\conda_recipes\output