View a markdown version of this page

Automatisieren Sie die Paketerstellung mit Deadline Cloud - 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.

Automatisieren Sie die Paketerstellung mit Deadline Cloud

Für CI/CD Workflows oder wenn Sie Pakete für mehrere Betriebssysteme erstellen müssen, können Sie eine Deadline Cloud-Warteschlange für die Paketerstellung erstellen. Die Warteschlangenpläne erstellen Aufträge für Ihre Flotte. Diese erstellen die Pakete und veröffentlichen sie in Ihrem Amazon Simple Storage Service (Amazon S3) -Conda-Kanal. Diese Automatisierung vereinfacht die kontinuierliche Erstellung von Paketen für Softwareversionen in all Ihren erforderlichen Konfigurationen.

Sie können eine Warteschlange für die Paketerstellung mithilfe einer AWS CloudFormation (CloudFormation) -Vorlage oder manuell in der Deadline Cloud-Konsole erstellen. Die CloudFormation Vorlage stellt eine komplette Farm mit einer Produktionswarteschlange und einer Warteschlange für die Paketerstellung bereit, die bereits konfiguriert sind. Wenn Sie die Warteschlange von der Konsole aus erstellen, haben Sie mehr Kontrolle über einzelne Einstellungen.

Erstellen Sie eine Warteschlange für die Paketerstellung mit CloudFormation

Sie können eine CloudFormation Vorlage verwenden, um eine Deadline Cloud-Farm zu erstellen, die eine Warteschlange für die Paketerstellung enthält. Die Vorlage konfiguriert eine Produktionswarteschlange und eine Warteschlange für die Paketerstellung mit einem privaten Amazon S3-Conda-Kanal.

Bevor Sie die Vorlage bereitstellen, erstellen Sie einen Amazon S3-Bucket, der die Auftragsanhänge und Ihren Conda-Kanal enthält. Sie können einen Bucket von der Amazon S3-Konsole aus erstellen. Sie benötigen den Bucket-Namen, wenn Sie die Vorlage bereitstellen.

Um das bereitzustellen CloudFormation Vorlage
  1. Laden Sie die Vorlage https://github.com/aws-deadline/deadline-cloud-samples/raw/mainline/cloudformation/farm_templates/starter_farm/deadline-cloud-starter-farm-template.yaml deadline-cloud-starter-farm-template.yaml aus dem Deadline Cloud-Beispiel-Repository unter herunter. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/cloudformation/farm_templates/starter_farm GitHub

  2. Wählen Sie in der CloudFormation Konsole „Stapel erstellen und dann „Mit neuen Ressourcen (Standard)“.

  3. Wählen Sie die Option zum Hochladen einer Vorlagendatei und laden Sie dann die deadline-cloud-starter-farm-template.yaml Datei hoch.

  4. Geben Sie einen Namen für den Stack ein, z. B.StarterFarm, und geben Sie den Namen eines Amazon S3-Buckets für Job-Anhänge und den Conda-Channel an.

  5. Folgen Sie den Schritten auf der CloudFormation Konsole, um die Stack-Erstellung abzuschließen.

Weitere Informationen zu den Vorlagenparametern und Anpassungsoptionen finden Sie in der README-Datei für die Starter-Farm im Deadline Cloud-Beispiel-Repository unterGitHub.

Erstellen Sie von der Konsole aus eine Warteschlange für die Paketerstellung

Folgen Sie den Anweisungen unter Warteschlange erstellen im Deadline Cloud-Benutzerhandbuch. Nehmen Sie die folgenden Änderungen vor:

  • Wählen Sie in Schritt 5 einen vorhandenen Amazon S3-Bucket aus. Geben Sie einen Stammordnernamen an, z. B. DeadlineCloudPackageBuild damit Build-Artefakte von Ihren normalen Deadline Cloud-Anhängen getrennt bleiben.

  • In Schritt 6 können Sie die Warteschlange für die Paketerstellung einer vorhandenen Flotte zuordnen oder eine völlig neue Flotte erstellen, falls Ihre aktuelle Flotte nicht geeignet ist.

  • Erstellen Sie in Schritt 9 eine neue Servicerolle für Ihre Warteschlange für die Paketerstellung. Sie ändern die Berechtigungen, um der Warteschlange die Berechtigungen zu geben, die für das Hochladen von Paketen und die Neuindizierung eines Conda-Kanals erforderlich sind.

Konfigurieren Sie die Berechtigungen für die Warteschlange zum Erstellen von Paketen

Damit die Warteschlange für die Paketerstellung auf das /Conda Präfix im Amazon S3-Bucket der Warteschlange zugreifen kann, müssen Sie die Rolle der Warteschlange ändern, um ihr read/write Zugriff zu gewähren. Die Rolle benötigt die folgenden Berechtigungen, damit Paket-Build-Jobs neue Pakete hochladen und den Channel neu indizieren können.

  • s3:GetObject

  • s3:PutObject

  • s3:ListBucket

  • s3:GetBucketLocation

  • s3:DeleteObject

  1. Öffnen Sie die Deadline Cloud-Konsole und navigieren Sie zur Seite mit den Warteschlangendetails für die Paket-Build-Warteschlange.

  2. Wählen Sie die Warteschlangen-Servicerolle und wählen Sie dann Warteschlange bearbeiten aus.

  3. Scrollen Sie zum Abschnitt Warteschlangendienst-Rolle und wählen Sie dann in der IAM-Konsole diese Rolle anzeigen aus.

  4. Wählen Sie aus der Liste der Berechtigungsrichtlinien die AmazonDeadlineCloudQueuePolicy für Ihre Warteschlange aus.

  5. Wählen Sie auf der Registerkarte „Berechtigungen“ die Option „Bearbeiten“ aus.

  6. Fügen Sie der Warteschlangendienst-Rolle einen neuen Abschnitt wie den folgenden hinzu. Ersetzen Sie amzn-s3-demo-bucket und 111122223333 durch Ihren eigenen Bucket und Ihr eigenes Konto.

    { "Effect": "Allow", "Sid": "CustomCondaChannelReadWrite", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/Conda/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } },

Reichen Sie einen Paket-Build-Job ein

Nachdem Sie eine Warteschlange für die Paketerstellung erstellt und die Warteschlangenberechtigungen konfiguriert haben, können Sie Aufträge zum Erstellen von Conda-Paketen einreichen. Das submit-package-job Skript im Deadline Cloud-Beispiel-Repository auf GitHub sendet einen Build-Job für ein Conda-Rezept.

Sie benötigen Folgendes:

Um einen Paket-Build-Job einzureichen
  1. Öffnen Sie die Konfigurations-GUI von Deadline Cloud und legen Sie die Standardfarm und die Standardwarteschlange in Ihrer Warteschlange für die Paketerstellung fest.

    deadline config gui
  2. Wechseln Sie in das conda_recipes Verzeichnis im Beispiel-Repository.

    cd deadline-cloud-samples/conda_recipes
  3. Führen Sie das submit-package-job Skript mit dem Rezeptverzeichnis aus. Das folgende Beispiel erstellt das Blender 4.5-Rezept.

    ./submit-package-job blender-4.5/

    Wenn das Rezept ein Quellarchiv benötigt, das Sie noch nicht heruntergeladen haben, enthält das Skript Anweisungen zum Herunterladen. Laden Sie das Archiv herunter und führen Sie das Skript erneut aus.

Nachdem Sie den Job eingereicht haben, verwenden Sie den Deadline Cloud-Monitor, um den Fortschritt und den Status des Jobs zu verfolgen.

Der Deadline Cloud-Monitor zeigt den Fortschritt und den Status eines Jobs an, der ein Conda-Paket erstellt.

Der Monitor zeigt die beiden Schritte des Jobs: das Erstellen des Pakets und das anschließende Neuindizieren des Conda-Kanals. Wenn Sie mit der rechten Maustaste auf die Aufgabe für den Schritt der Paketerstellung klicken und Protokolle anzeigen wählen, zeigt der Monitor die Sitzungsaktionen an:

  • Anlagen synchronisieren — Kopiert die Anhänge des Eingabeauftrags oder mountet ein virtuelles Dateisystem.

  • Conda starten — Die Aktion für die Warteschlangenumgebung. Der Build-Job spezifiziert keine Conda-Pakete, daher ist diese Aktion schnell abgeschlossen.

  • Launch CondaBuild Env — Erstellt eine virtuelle Conda-Umgebung mit der Software, die zum Erstellen eines Conda-Pakets und zur Neuindizierung eines Kanals benötigt wird.

  • Task Run — Erstellt das Paket und lädt die Ergebnisse auf Amazon S3 hoch.

Während die Aktionen ausgeführt werden, senden sie Protokolle an Amazon CloudWatch (CloudWatch). Wenn ein Auftrag abgeschlossen ist, wählen Sie Protokolle für alle Aufgaben anzeigen aus, um zusätzliche Protokolle über den Auf- und Abbau der Umgebung anzuzeigen.