Share via


Hinzufügen und Konfigurieren eines Katalogs aus GitHub oder Azure Repos

In diesem Leitfaden erfahren Sie, wie Sie einen Katalog in Ihrem Dev Center für Azure Deployment Environments hinzufügen und konfigurieren. Ein Katalog ist ein Repository, das auf GitHub oder in Azure DevOps gehostet wird.

Sie können Ihren Entwicklungsteams über einen Katalog einen kuratierten Satz von Infrastructure-as-Code-Vorlagen (IaC) zur Verfügung stellen, sogenannte Umgebungsdefinitionen.

Deployment Environments unterstützt Kataloge, die in Azure Repos (dem Repositorydienst in Azure, allgemein als Azure DevOps bezeichnet) gehostet werden, sowie auf GitHub gehostete Kataloge. Azure Repos unterstützt die Authentifizierung durch Zuweisen von Berechtigungen zu einer verwalteten Identität. Azure Repos und GitHub unterstützen beide die Verwendung eines persönlichen Zugriffstokens (Personal Access Token, PAT) für die Authentifizierung. Zum besseren Schutz Ihrer Vorlagen ist der Katalog verschlüsselt. Azure Deployment Environments unterstützt die Verschlüsselung ruhender Daten mit plattformseitig verwalteten Verschlüsselungsschlüsseln, die von Microsoft für Azure-Dienste verwaltet werden.

  • 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.

Microsoft bietet einen Schnellstartkatalog, den Sie dem Dev Center hinzufügen können, und einen Beispielkatalog, den Sie als Repository verwenden können. Sie können auch mit Ihrem eigenen privaten Repository arbeiten oder die Umgebungsdefinitionen im Beispielkatalog forken und anpassen.

Konfigurieren einer verwalteten Identität für ein Dev Center

Nachdem Sie eine DevCenter-Instanz erstellt haben, müssen Sie vor dem Anfügen eines Katalogs eine verwaltete Identität (auch Managed Service Identity oder MSI genannt) für die DevCenter-Instanz konfigurieren. 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 die DevCenter-Instanz Umgebungstypen in Ihrem Abonnement erstellen und das Azure Repos-Projekt lesen kann, das das Katalogrepository enthält.

Wenn keine MSI an Ihr Dev Center 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 Dev Center-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 in Azure Repos Berechtigungen für die verwaltete DevCenter-Identität zu.
  • Hinzufügen des Repositorys als Katalog

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

Sie müssen der verwalteten Identität in der DevCenter-Instanz 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 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 Entwicklungscenters ein.
    Wenn Sie eine systemseitig zugewiesene MSI verwenden, geben Sie den Namen des Dev Center 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 Basic 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

Azure Deployment Environments unterstützt das Anfügen von Azure Repos- und GitHub-Repositorys. Sie können eine Reihe kuratierter IaC-Vorlagen (Infrastructure-as-Code) in einem Repository speichern. Durch Anfügen des Repositorys an ein Dev Center als Katalog erhalten Ihre Entwicklungsteams Zugriff auf die Vorlagen und können so schnell konsistente Umgebungen einrichten.

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

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

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

    Screenshot des Bereichs „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.
    Branch 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 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.

Aktualisieren eines Katalogs

Wenn Sie den Inhalt oder die Definition der Azure Resource Manager-Vorlage (ARM-Vorlage) im angefügten Repository aktualisieren, können Sie die neuesten Umgebungsdefinitionen für Ihre Entwicklungsteams bereitstellen, indem Sie den Katalog synchronisieren.

So synchronisieren Sie einen aktualisierten Katalog in Azure Deployment Environments

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

  2. Wählen Sie den entsprechenden Katalog und dann Synchronisieren aus. Der Dienst überprüft das Repository und stellt die aktuelle Liste der Umgebungsdefinitionen für alle zugeordneten Projekte im Dev Center zur Verfügung.

Löschen eines Katalogs

Sie können einen Katalog löschen, um ihn aus dem Dev Center für Azure Deployment Environments zu entfernen. Vorlagen in einem gelöschten Katalog sind beim Bereitstellen neuer Umgebungen nicht für Entwicklungsteams verfügbar. Aktualisieren Sie den Verweis auf die Umgebungsdefinitionen für alle bestehenden Umgebungen, die mithilfe der Umgebungsdefinitionen 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 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.

Katalogsynchronisierungsfehler

Wenn Sie einen Katalog hinzufügen oder synchronisieren, tritt möglicherweise ein Synchronisierungsfehler auf. Ein Synchronisierungsfehler gibt an, dass einige oder alle Umgebungsdefinitionen Fehler aufweisen. 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 Umgebungsdefinitionen, die als Duplikate erkannt wurden
  • Ungültige Umgebungsdefinitionen, die aufgrund von Schema-, Verweis- oder Überprüfungsfehlern fehlgeschlagen sind

Beheben von Fehlern aufgrund ignorierter Umgebungsdefinitionen

Ein Fehler aufgrund von ignorierten Umgebungsdefinitionen tritt auf, wenn Sie zwei oder mehr Umgebungsdefinitionen hinzufügen, die denselben Namen haben. Sie können dieses Problem beheben, indem Sie Umgebungsdefinitionen 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:

    • Stellen Sie sicher, dass der Modultyp der Umgebungsdatei ordnungsgemäß als ARM 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.