Hinzufügen und Konfigurieren eines Katalogs aus GitHub oder Azure Repos
In diesem Artikel erfahren Sie, wie Sie einen Katalog in Ihrem Dev Center oder Projekt für Azure Deployment Environments hinzufügen und konfigurieren.
Kataloge helfen Ihnen, eine Reihe kuratierter IaC-Vorlagen (Infrastructure-as-Code) bereitzustellen, die als Umgebungsdefinitionen für Ihre Entwicklungsteams bezeichnet werden, um Umgebungen zu erstellen. Sie können Ihr eigenes Quellcodeverwaltungs-Repository von GitHub oder Azure DevOps als Katalog anfügen und den Ordner mit Ihren Umgebungsdefinitionen angeben. Deployment Environments scannt den Ordner nach Umgebungsdefinitionen und stellen sie für Entwicklerteams zum Erstellen von Umgebungen zur Verfügung.
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 oder Projekt 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.
In diesem Artikel werden folgende Vorgehensweisen behandelt:
- Konfigurieren von Katalogen auf Projektebene
- Konfigurieren einer verwalteten Identität
- Hinzufügen eines Katalogs aus Azure Repos oder GitHub
- Aktualisieren eines Katalogs
- Löschen eines Katalogs
- Problembehandlung bei Katalogsynchronisierungsfehlern
Konfigurieren von Katalogen auf Projektebene
Durch das Anfügen von Katalogen auf Projektebene können Plattformentwickler zusammengestellte Umgebungsdefinitionen bereitstellen, die für die Entwicklungsteams spezifisch sind. Darüber hinaus können Entwicklungsteamleiter, die als Projektadministratoren zugewiesen wurden, die Umgebungsdefinitionen 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 zu einem Projekt hinzugefügt werden kann. Plattformentwickler können auch konfigurieren, welche Arten von Katalogelementen, z. B. Umgebungsdefinitionen, 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. Außerdem müssen Sie das Verwenden von Umgebungsdefinitionen 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 das Verwenden von Umgebungsdefinitionen auf Projektebene aktivieren.
So aktivieren Sie das Verwenden von Katalogen auf Projektebene auf Dev Center-Ebene:
Navigieren Sie im Azure-Portal zu Ihrem Dev Center.
Wählen Sie im linken Menü unter Einstellungen die Option Konfiguration aus.
Wählen Sie im Bereich Kataloge auf Projektebene Kataloge pro Projekt aktivieren aus, und wählen Sie dann Anwenden aus.
So aktivieren Sie das Verwenden von Umgebungsdefinitionen im Projekt:
Navigieren Sie im Azure-Portal zu Ihrem Projekt.
Wählen Sie im Menü auf der linken Seite unter Einstellungen Kataloge aus.
Wählen Sie auf der Seite Kataloge Katalogelementberechtigungen aus.
Wählen Sie im Bereich Katalogelementeinstellungen Azure-Bereitstellungsumgebungsdefinitionen aus, um das Verwenden von Umgebungsdefinitionen auf Projektebene zu aktivieren.
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.
- Azure Repos-Repository mit MSI
- Azure Repos-Repository mit PAT
- DevCenter-App für GitHub-Repository
- GitHub-Repository mit PAT
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.
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.
Wählen Sie Organisationseinstellungen aus.
Wählen Sie auf der Seite Übersicht die Option Benutzer aus.
Wählen Sie auf der Seite Benutzer die Option Benutzer hinzufügen aus.
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 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.
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 oder Projekt 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.
Navigieren Sie im Azure-Portal zu Ihrem Dev Center oder Projekt.
Wählen Sie im linken Menü unter Umgebungskonfiguration die Option Kataloge und dann Hinzufügen aus.
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. 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.
Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.
Wählen Sie im Bereich Kataloge den Katalognamen aus.
Es wird eine Liste der erfolgreich synchronisierten Katalogelemente angezeigt.
Aktualisieren eines Katalogs
Wenn Sie die Definition oder den Vorlageninhalt im angefügten Repository aktualisieren, können Sie die neuesten Umgebungsdefinitionen 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 Deployment Environments das Repository und stellt die neueste Liste der Umgebungsdefinitionen für alle zugehörigen Projekte im Dev Center zur Verfügung.
Wählen Sie im linken Menü für das Dev Center unter Umgebungskonfiguration die Option Kataloge aus.
Wählen Sie den bestimmten Katalog aus, und wählen Sie dann in der Befehlsleiste Synchronisieren aus.
Automatisches Synchronisieren eines Katalogs
Wenn Sie einen Katalog so konfigurieren, dass er automatisch synchronisiert wird, durchsucht Deployment Environments alle 30 Minuten das Repository und stellt die neueste Liste der Umgebungsdefinitionen für alle zugehörigen Projekte im Dev Center zur Verfügung.
Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.
Wählen Sie den entsprechenden Katalog und dann „Bearbeiten“ aus.
Wählen Sie im Bereich Katalog bearbeiten die Option Diesen Katalog automatisch synchronisieren und dann Speichern aus.
Löschen eines Katalogs
Sie können einen Katalog löschen, um ihn aus dem Dev Center oder Projekt 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:
Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.
Wählen Sie den entsprechenden Katalog und dann Löschen aus.
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, der den Synchronisierungsstatus, die Anzahl der hinzugefügten Umgebungsdefinitionen und die Anzahl der Umgebungsdefinitionen anzeigt, die ignoriert wurden oder fehlerhaft sind.
Anzeigen von Katalogsynchronisierungsfehlern
Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.
Wählen Sie in der Spalte Status den Statuslink für den Katalog aus, der nicht synchronisiert werden konnte.
Es wird ein Detailbereich angezeigt, in dem die Änderungen in der letzten Synchronisierung, die Anzahl der Synchronisierungsfehler und die Art der Fehler angezeigt werden.
Anzeigen von Katalogsynchronisierungswarnungen
Wählen Sie im linken Menü für das Dev Center oder Projekt unter Umgebungskonfiguration die Option Kataloge aus.
Wählen Sie in der Spalte Status den Statuslink für den Katalog aus, der synchronisiert wurde, aber eine Warnung meldet.
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.
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.
Es wird eine Liste der erfolgreich synchronisierten Katalogelemente angezeigt.
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 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:
- 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.