Share via


Erstellen einer benutzerdefinierten Image Factory in Azure DevTest Labs

In diesem Artikel wird beschrieben, wie Sie eine benutzerdefinierte Image Factory einrichten, indem Sie Beispielskripts aus dem Git-Repository verwenden.

Was ist eine Image Factory?

Eine Image Factory ist eine Configuration-as-Code-Lösung, die Images automatisch und regelmäßig mit allen gewünschten Konfigurationen erstellt und verteilt. Die Images in der Image Factory sind stets auf dem neuesten Stand, und nach der Automatisierung des gesamten Prozesses fällt praktisch keinerlei Aufwand für die laufende Wartung mehr an. Da alle erforderlichen Konfigurationen bereits im Image enthalten sind, entfällt der Zeitaufwand für das manuelle Konfigurieren des Systems, nachdem ein virtueller Computer mit dem Basisbetriebssystem erstellt wurde.

Um einen Entwickler-Desktop in DevTest Labs schneller in einen betriebsbereiten Zustand zu versetzen, ist die Verwendung benutzerdefinierter Images entscheidend. Der Nachteil von benutzerdefinierten Images ist der, dass zusätzliche Daten im Lab verwaltet werden müssen. Testversionen von Produkten laufen beispielsweise im Laufe der Zeit ab oder neu veröffentlichte Sicherheitsupdates werden nicht angewendet, weshalb es nötig ist, das benutzerdefinierte Image in regelmäßigen Abständen zu aktualisieren. Mit einer Image Factory verfügen Sie über eine Definition des in die Quellcodeverwaltung eingecheckten Images und über einen automatisierten Prozess zum Erstellen benutzerdefinierter Images mithilfe dieser Definition.

Mit dieser Lösung wird das Erstellen virtueller Computer aus benutzerdefinierten Images beschleunigt, während zusätzliche Kosten für die laufende Wartung entfallen. Mit dieser Lösung können Sie automatisch benutzerdefinierte Images erstellen, diese an andere DevTest Labs verteilen und die alten Images außer Betrieb nehmen. Alle Azure Powershell-Skripts stehen kostenlos hier zur Verfügung: https://aka.ms/dtlimagefactory.


Allgemeiner Überblick über die Lösung

Mit dieser Lösung wird das Erstellen virtueller Computer aus benutzerdefinierten Images beschleunigt, während zusätzliche Kosten für die laufende Wartung entfallen. Mit dieser Lösung können Sie automatisch benutzerdefinierte Images erstellen und an andere DevTest Labs verteilen. Sie verwenden Azure DevOps (früher Visual Studio Team Services) als Orchestrierungsmodul für die Automatisierung aller Vorgänge in den DevTest Labs.

High-level view of the solution.

Es gibt eine VSTS-Erweiterung für DevTest Labs, mit der Sie die folgenden Einzelschritte auszuführen können:

  • Erstellen eines benutzerdefinierten Image
  • Erstellen eines virtuellen Computers
  • Löschen eines virtuellen Computers
  • Erstellen der Umgebung
  • Löschen der Umgebung
  • Auffüllen der Umgebung

Mithilfe der DevTest Labs-Erweiterung können Sie auf einfache Weise mit der automatischen Erstellung benutzerdefinierter Images in DevTest Labs beginnen.

Für ein komplexeres Szenario gibt es eine alternative Implementierung mit einem PowerShell-Skript. Mit PowerShell können Sie eine auf DevTest Labs basierende Image Factory vollständig automatisieren, und diese kann in Ihrer Continuous Integration- und Continuous Delivery (CI/CD)-Toolkette verwendet werden. Diese alternative Lösung verwendet die folgenden Grundsätze:

  • Allgemeine Aktualisierungen sollten keine Änderungen an der Image Factory erfordern. (Dies gilt z. B. für das Hinzufügen eines neuen Typs des benutzerdefinierten Images, die automatische Außerbetriebnahme alter Images, das Hinzufügen eines neuen „Endpunkt“-DevTest Labs zum Empfangen benutzerdefinierter Images usw.)
  • Allgemeine Änderungen werden durch die Quellcodeverwaltung (Infrastruktur als Code) abgedeckt.
  • DevTest Labs für den Empfang benutzerdefinierter Images fallen möglicherweise nicht unter dasselbe Azure-Abonnement (für Labs werden Abonnements verwendet).
  • PowerShell-Skripts müssen wiederverwendbar sein, damit Sie bei Bedarf weitere Factorys einrichten können.

Nächste Schritte

Fahren Sie mit dem nächsten Artikel in diesem Abschnitt fort: Ausführen einer Image Factory aus Azure DevOps.