Freigeben über


Hinzufügen und Verwalten von Katalogen in Microsoft Dev Box

In diesem Artikel wird erläutert, wie Sie einen Katalog für Ihr Microsoft Dev Box Dev Center oder Projekt hinzufügen und konfigurieren.

Kataloge helfen Ihnen, eine Reihe kuratierter Bilddefinitionen für Ihre Entwicklungsteams bereitzustellen, um vorgefertigte Entwicklerfelder zu erstellen. Sie können Ihr eigenes Quellcodeverwaltungs-Repository von GitHub oder Azure Repos als Katalog anfügen.

Um Ihre Vorlagen weiter zu sichern, wird der Katalog verschlüsselt; Dev Box unterstützt ruhende Verschlüsselung mit plattformverwalteten Verschlüsselungsschlüsseln, die Microsoft für Azure Services verwaltet.

  • Informationen zum Hosten eines Repositorys auf GitHub finden Sie unter Erste Schritte mit GitHub.
  • Informationen zum Hosten eines Git-Repositorys in einem Azure Repos-Projekt finden Sie unter Azure Repos.

Konfigurieren von Katalogen auf Projektebene

Durch das Anfügen von Katalogen auf Projektebene können Plattformtechniker Bilddefinitionen bereitstellen, die für die einzelnen Entwicklungsteams spezifisch sind. Darüber hinaus können Entwicklerteamleiter, die als Project-Administratoren zugewiesen wurden, die Bilddefinitionen verwalten, die ihren Teams zur Verfügung gestellt werden.

Plattformentwickler haben die volle Kontrolle über die Verwendung von Katalogen auf Projektebene. Die Verwendung von Katalogen auf Projektebene muss auf Dev Center-Ebene aktiviert werden, bevor ein Katalog einem Projekt hinzugefügt werden kann. Plattformtechniker können auch konfigurieren, welche Typen von Katalogelementen, z. B. Bilddefinitionen, auf Projektebene genutzt werden können.

Standardmäßig ist die Verwendung von Katalogen auf Projektebene deaktiviert, und keiner der Katalogelementtypen ist aktiviert. Unter zwei Bedingungen werden Umgebungsdefinitionen aus einem Katalog auf Projektebene synchronisiert und können verwendet werden. Zunächst müssen Sie projektbasierte Kataloge auf der entsprechenden Dev Center-Ebene aktivieren. Zweitens müssen Sie die Verwendung von Bilddefinitionen für das Projekt aktivieren.

Hinzufügen eines Katalogs zu einem Projekt

Sie müssen Kataloge auf Projektebene auf Dev Center-Ebene aktivieren, bevor Sie einem Projekt einen Katalog hinzufügen können. Sie sollten auch die Verwendung von Bilddefinitionen auf Projektebene aktivieren.

So aktivieren Sie das Verwenden von Katalogen auf Projektebene auf Dev Center-Ebene:

  1. Navigieren Sie im Azure-Portal zu Ihrem Dev Center.

  2. Wählen Sie im linken Menü unter "Einstellungen" die Dev Center-Einstellungen aus.

  3. Wählen Sie unter Kataloge auf Projektebene die Option Kataloge pro Projekt aktivieren aus, und wählen Sie dann Anwenden aus.

    Screenshot der Dev Center-Einstellungen mit ausgewählter und hervorgehobener Option

So aktivieren Sie die Verwendung von Bilddefinitionen im Projekt:

  1. Navigieren Sie im Azure-Portal zu Ihrem Projekt.

  2. Wählen Sie im Menü auf der linken Seite unter Einstellungen Kataloge aus.

    Screenshot der Übersicht für ein Projekt mit hervorgehobener Option „Kataloge“

  3. Wählen Sie auf der Seite Kataloge Katalogelementberechtigungen aus.

    Screenshot des Katalogbereichs mit hervorgehobener Option „Katalogelementberechtigungen“

  4. Wählen Sie im Bereich " Katalogelementeinstellungen " die Azure-Bereitstellungsimagedefinitionen aus, um die Verwendung von Bilddefinitionen auf Projektebene zu ermöglichen.

    Screenshot des Bereichs

Jetzt können Sie dem Projekt einen Katalog hinzufügen.

Für Kataloge, bei denen eine verwaltete Identität oder ein persönliches Zugriffstoken (PAT) für die Authentifizierung verwendet werden, müssen Sie dem Projekt eine verwaltete Identität zuweisen. Für Kataloge, die ein PAT verwenden, müssen Sie das PAT in einem Schlüsseltresor speichern und der verwalteten Identität Zugriff auf das Schlüsseltresorgeheimnis gewähren.

Konfigurieren einer verwalteten Identität

Bevor Sie einen Katalog an ein Dev Center oder Projekt anfügen können, müssen Sie eine verwaltete Identitätkonfigurieren, die auch als verwaltete Dienstidentität (Managed Service Identity, MSI) bezeichnet wird. Sie können entweder eine systemseitig zugewiesene verwaltete Identität (systemseitig zugewiesene MSI) oder eine benutzerseitig zugewiesene verwaltete Identität (benutzerseitig zugewiesene MSI) verwenden. Anschließend weisen Sie der verwalteten Identität Rollen zu, damit das Dev Center oder Projekt Umgebungstypen in Ihrem Abonnement erstellen und das Azure Repos-Projekt lesen kann, das das Katalogrepository enthält.

Wenn keine MSI an Ihr Dev Center oder Projekt angefügt ist, führen Sie die Schritte unter Konfigurieren einer verwalteten Identität aus, um eine verwaltete Identität zu erstellen und Rollen für die verwaltete Identität zuzuweisen.

Weitere Informationen zu verwalteten Identitäten finden Sie unter Was sind verwaltete Identitäten für Azure-Ressourcen?.

Hinzufügen eines Katalogs

Sie können einen Katalog aus einem Azure Repos-Repository oder aus einem GitHub-Repository hinzufügen. Sie können sich authentifizieren, indem Sie einer MSI Berechtigungen zuweisen oder ein PAT verwenden, das Sie in einem Schlüsseltresor speichern.

Wählen Sie die Registerkarte für den Typ des Repositorys und der Authentifizierung aus, die Sie verwenden möchten.

Führen Sie zum Hinzufügen eines Katalogs die folgenden Aufgaben aus:

  • Weisen Sie Berechtigungen in Azure Repos für die verwaltete Identität zu.
  • Hinzufügen des Repositorys als Katalog

Zuweisen von Berechtigungen in Azure Repos für die verwaltete Identität

Sie müssen der verwalteten Identität Berechtigungen für das Repository in Azure Repos erteilen.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an.

    Hinweis

    Ihre Azure DevOps-Organisation muss sich im selben Verzeichnis wie das Azure-Abonnement befinden, das Ihr Dev Center oder Projekt enthält.

  2. Wählen Sie Organisationseinstellungen aus.

    Screenshot: Seite der Azure DevOps-Organisation mit hervorgehobener Option „Organisationseinstellungen“

  3. Wählen Sie auf der Seite Übersicht die Option Benutzer aus.

    Screenshot: Übersichtsseite der Organisation mit hervorgehobener Option „Benutzer“

  4. Wählen Sie auf der Seite Benutzer die Option Benutzer hinzufügen aus.

    Screenshot: Seite „Benutzer“ mit hervorgehobener Option zum Hinzufügen eines Benutzers

  5. Vervollständigen Sie neue Benutzer hinzufügen, indem Sie die folgenden Informationen eingeben oder sie auswählen, und wählen Sie dann Hinzufügen aus:

    Name Wert
    Benutzer oder Dienstprinzipale Geben Sie den Namen Ihres Dev Centers oder Projekts ein.
    Wenn Sie eine systemseitig zugewiesene MSI verwenden, geben Sie den Namen des Dev Centers oder Projekts und nicht die Objekt-ID des verwalteten Kontos an. Wenn Sie eine benutzerseitig zugewiesene MSI verwenden, verwenden Sie den Namen des verwalteten Kontos.
    Zugriffsebene Wählen Sie "Einfach" aus.
    Zu Projekten hinzufügen Wählen Sie das Projekt aus, das Ihr Repository enthält.
    Azure DevOps-Gruppen Wählen Sie Projektleser aus.
    Senden von E-Mail-Einladungen (nur an Benutzer) Deaktivieren Sie das Kontrollkästchen.

    Screenshot: Hinzufügen von Benutzern mit Beispieleinträgen und hervorgehobener Option „Hinzufügen“

Hinzufügen des Repositorys als Katalog

Dev Box unterstützt das Anfügen von Azure Repos-Repositorys und GitHub-Repositorys. Sie können eine Reihe kuratierter IaC-Vorlagen (Infrastructure-as-Code) in einem Repository speichern. Durch das Anfügen des Repositorys an ein Dev Center oder Projekt als Katalog erhalten Ihre Entwicklungsteams Zugriff auf die Vorlagen und ermöglicht es ihnen, schnell konsistente Entwicklerfelder zu erstellen.

In den folgenden Schritten wird ein Azure Repos-Repository angefügt.

  1. Navigieren Sie im Azure-Portal zu Ihrem Dev Center oder Projekt.

  2. Wählen Sie im linken Menü unter Umgebungskonfiguration die Option Kataloge und dann Hinzufügen aus.

    Screenshot: Bereich „Kataloge“.

  3. Geben Sie unter Katalog hinzufügen die folgenden Informationen ein, und wählen Sie dann Hinzufügen aus:

    Feld Wert
    Name Geben Sie einen Namen für den Katalog ein.
    Katalogspeicherort Wählen Sie Azure DevOps aus.
    Authentifizierungstyp Wählen Sie Verwaltete Identität aus.
    Organisation Wählen Sie Ihre Azure DevOps-Organisation aus.
    Projekt Wählen Sie in der Liste der Projekte das Projekt aus, welches das Repository speichert.
    Repository Wählen Sie in der Liste der Repositorys das Repository aus, das Sie hinzufügen möchten.
    Filiale Wählen Sie den Branch aus.
    Ordnerpfad Dev Box ruft eine Liste der Ordner in Ihrem Branch ab. Wählen Sie den Ordner aus, der Ihre IaC-Vorlagen speichert.

    Screenshot: Bereich „Katalog hinzufügen“ mit Beispieleinträgen und hervorgehobener Option „Hinzufügen“

  4. Vergewissern Sie sich im Dev Center oder Projekt unter Kataloge, dass Ihr Katalog angezeigt wird. Wenn die Verbindung erfolgreich hergestellt wurde, wird unter Status der Wert Synchronisierung erfolgreich angezeigt. Das Herstellen einer Verbindung mit einem Katalog kann beim ersten Mal ein paar Minuten dauern.

Anzeigen synchronisierter Katalogelemente

Unabhängig vom Typ des verwendeten Repositorys können Sie die Katalogelemente anzeigen, die aus dem Katalog synchronisiert werden.

  1. Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.

  2. Wählen Sie im Bereich Kataloge den Katalognamen aus.

    Screenshot des Katalogbereichs mit hervorgehobenem Namen des angefügten Katalogs

  3. Es wird eine Liste der erfolgreich synchronisierten Katalogelemente angezeigt.

    Screenshot, der erfolgreich synchronisierte Katalogelemente aus dem angefügten Katalog zeigt

Aktualisieren eines Katalogs

Wenn Sie den Definitions- oder Vorlageninhalt im angefügten Repository aktualisieren, können Sie den neuesten Satz von Bilddefinitionen für Ihre Entwicklungsteams bereitstellen, indem Sie den Katalog synchronisieren. Sie können einen Katalog manuell oder automatisch synchronisieren.

Manuelles Synchronisieren eines Katalogs

Wenn Sie einen Katalog manuell synchronisieren, durchsucht Dev Box das Repository und stellt die neueste Liste der Bilddefinitionen für alle zugehörigen Projekte im Dev Center zur Verfügung.

  1. Wählen Sie im linken Menü für das Dev Center unter Umgebungskonfiguration die Option Kataloge aus.

  2. Wählen Sie den bestimmten Katalog aus, und wählen Sie dann in der Befehlsleiste Synchronisieren aus.

    Screenshot der Schaltfläche „Synchronisieren“ in der Befehlsleiste

Automatisches Synchronisieren eines Katalogs

Wenn Sie einen Katalog so konfigurieren, dass er automatisch synchronisiert wird, durchsucht Dev Box alle 30 Minuten das Repository und stellt die neueste Liste der Bilddefinitionen für alle zugehörigen Projekte im Dev Center zur Verfügung.

  1. Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.

  2. Wählen Sie den entsprechenden Katalog und dann „Bearbeiten“ aus.

    Screenshot der Schaltfläche „Bearbeiten“ für einen Katalog

  3. Wählen Sie im Bereich Katalog bearbeiten die Option Diesen Katalog automatisch synchronisieren und dann Speichern aus.

    Screenshot des Bereichs „Details bearbeiten“ für einen Katalog mit der hervorgehobenen Option „Diesen Katalog automatisch synchronisieren“

Wenn eine autosynchrone Synchronisierung fehlschlägt, sollten Sie eine manuelle Synchronisierung ausführen. Dev Box macht keine weiteren autosynchronen Versuche, bis eine manuelle Synchronisierung erfolgreich ist.

Löschen eines Katalogs

Sie können einen Katalog löschen, um ihn aus dem Dev Box Dev Center oder Projekt zu entfernen. Vorlagen in einem gelöschten Katalog stehen Entwicklungsteams nicht zur Verfügung, wenn sie neue Entwicklungsumgebungen deployen. Aktualisieren Sie den Umgebungsdefinitionsverweis für alle vorhandenen Entwicklungsfelder, die mithilfe der Bilddefinitionen im gelöschten Katalog erstellt wurden. Wenn der Verweis nicht aktualisiert und die Umgebung neu bereitgestellt wird, schlägt die Bereitstellung fehl.

Katalog löschen:

  1. Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.

  2. Wählen Sie den entsprechenden Katalog und dann Löschen aus.

  3. Wählen Sie im Dialogfeld Katalog löschen die Option Weiter aus, um den Katalog zu löschen.

Problembehandlung bei Katalogsynchronisierungsfehlern

Wenn Sie einen Katalog hinzufügen oder synchronisieren, tritt möglicherweise ein Synchronisierungsfehler oder eine Synchronisierungswarnung auf. Ein Synchronisierungsfehler weist darauf hin, dass ein Katalog nicht erfolgreich synchronisiert werden konnte. Eine Synchronisierungswarnung bedeutet, dass einige oder alle Katalogelemente Fehler aufweisen. Sie können den Synchronisierungsstatus und die Fehler im Azure-Portal anzeigen oder die Azure CLI und REST-API verwenden, um die Fehler zu behandeln und zu beheben.

Anzeigen des Katalogsynchronisierungsstatus

Im Azure-Portal erhalten Sie weitere Informationen zum Katalogsynchronisierungsstatus sowie zu Warnungen oder Fehlern, indem Sie den Statuslink auswählen. Der Statuslink öffnet einen Bereich, in dem der Synchronisierungsstatus angezeigt wird, die Anzahl der hinzugefügten Bilddefinitionen und die Anzahl der Bilddefinitionen, die ignoriert oder fehlgeschlagen wurden.

Anzeigen von Katalogsynchronisierungsfehlern

  1. Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.

  2. Wählen Sie in der Spalte Status den Statuslink für den Katalog aus, der nicht synchronisiert werden konnte.

    Screenshot des Katalogbereichs, in dem die Synchronisierung fehlgeschlagen ist

  3. Es wird ein Detailbereich angezeigt, in dem die Änderungen in der letzten Synchronisierung, die Anzahl der Synchronisierungsfehler und die Art der Fehler angezeigt werden.

    Screenshot des Bereichs „Katalogsynchronisierungsfehler“

Anzeigen von Katalogsynchronisierungswarnungen

  1. Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.

  2. Wählen Sie in der Spalte Status den Statuslink für den Katalog aus, der synchronisiert wurde, aber eine Warnung meldet.

    Screenshot des Katalogbereichs mit hervorgehobenen Fehlern in drei Elementen

  3. Es wird ein Detailbereich angezeigt, in dem die Änderungen in der letzten Synchronisierung, die Anzahl der Elementfehler und die Art und Quelle der Fehler angezeigt werden.

    Screenshot des Bereichs „Katalogsynchronisierungsfehler“

  4. Sie können Elemente anzeigen, die erfolgreich aus einem Katalog synchronisiert wurden, der auch Synchronisierungsfehler meldet. Wählen Sie im Bereich Kataloge den Katalognamen aus.

    Screenshot des Katalogbereichs mit hervorgehobenem Namen eines Katalogs

  5. Es wird eine Liste der erfolgreich synchronisierten Katalogelemente angezeigt.

    Screenshot, der erfolgreich synchronisierte Katalogelemente zeigt

Behandeln von Katalogsynchronisierungsfehlern mithilfe der Azure CLI

Verwenden Sie die Azure CLI oder die REST-API, um den Katalog abzurufen (mit GET). Die GET-Antwort zeigt die Art des Fehlers an:

  • Ignorierte Bilddefinitionen, die als Duplikate erkannt wurden.
  • Ungültige Bilddefinitionen, die aufgrund von Schema-, Verweis- oder Überprüfungsfehlern fehlgeschlagen sind.

Beheben von Fehlern aufgrund ignorierter Umgebungsdefinitionen

Ein ignorierter Umgebungsdefinitionsfehler tritt auf, wenn Sie zwei oder mehr Bilddefinitionen hinzufügen, die denselben Namen haben. Sie können dieses Problem beheben, indem Sie Bilddefinitionen umbenennen, sodass jede Umgebungsdefinition einen eindeutigen Namen im Katalog aufweist.

Beheben von Fehlern aufgrund ungültiger Umgebungsdefinitionen

Ein Fehler aufgrund ungültiger Umgebungsdefinitionen kann aus verschiedenen Gründen auftreten:

  • Manifestschemafehler. Stellen Sie sicher, dass die Umgebungsdatei der Umgebungsdefinitionen mit dem erforderlichen Schema übereinstimmt.

  • Überprüfungsfehler Überprüfen Sie die folgenden Elemente, um Überprüfungsfehler zu beheben:

    • Vergewissern Sie sich, dass der Modultyp der Umgebungsdatei ordnungsgemäß konfiguriert ist.
    • Stellen Sie sicher, dass der Name der Umgebungsdefinitionen zwischen 3 und 63 Zeichen lang ist.
    • Stellen Sie sicher, dass der Name der Umgebungsdefinitionen nur Zeichen enthält, die für eine URL gültig sind. Dies sind alphanumerische Zeichen und folgende Symbole: ~!,.';:=-_+()*&$@.
  • Verweisfehler. Stellen Sie sicher, dass der von der Umgebungsdatei referenzierte Vorlagenpfad ein gültiger relativer Pfad zu einer Datei im Repository ist.