Einleitung
Stellen Sie sich vor, Sie arbeiten als Softwaretechniker für einen Online-Outdoor-Bekleidungshändler. Sie sind für die Bereitstellung und Aktualisierung der Online-Storefront des Einzelhändlers, einer cloudeigenen, microservices-basierten .NET-App, verantwortlich.
Um Projektanforderungen zu erfüllen und die agilen Entwicklungsmethoden Ihres Teams zu verbessern, entscheiden Sie sich, die kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) über GitHub-Aktionen und Azure-Pipelines zu vergleichen. Die CI/CD-Pipeline umfasst eine Reihe automatisierter Schritte zum Kompilieren und Bereitstellen von Apps aus der Buildumgebung für alle Umgebungen.
Da das aktuelle Web über eine Microservices-Architektur verfügt und jeder Microservice unabhängig bereitgestellt wird, beginnen Sie mit der Einrichtung von CI/CD für einen einzelnen Dienst.
Die .NET-Web-API mit dem Namen "Product Service" unterstützt alle Back-End-Katalogfunktionen der Website. In diesem Modul implementieren Sie eine CI/CD-Pipeline für den Produktdienst.
Dieses Modul führt Sie durch die folgenden Schritte:
- Authentifizieren von GitHub-Aktionen bei einer Containerregistrierung.
- Sicheres Speichern vertraulicher Informationen, die Von GitHub-Aktionen verwendet werden.
- Implementieren Sie eine Aktion zum Erstellen des Containerimages für einen Microservice.
- Ändern Sie den Microservice-Code, und übernehmen Sie diesen, um einen Build auszulösen.
- Implementieren Sie eine Aktion zum Bereitstellen des aktualisierten Containers in einem Azure Kubernetes Service (AKS)-Cluster.
- Ändern und Committen eines Helm-Diagramms, um die Bereitstellung auszulösen
- Stellen Sie den Microservice auf die vorherige Bereitstellung zurück.
Sie verwenden Ihr eigenes Azure-Abonnement, um die Ressourcen in diesem Modul bereitzustellen. Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Von Bedeutung
Um unnötige Gebühren in Ihrem Azure-Abonnement zu vermeiden, müssen Sie Ihre Azure-Ressourcen löschen, wenn Sie mit diesem Modul fertig sind.
Voraussetzungen
- Konzeptionelle Kenntnisse der DevOps-Praktiken.
- Konzeptionelle Kenntnisse von Containern, Docker und AKS.
- Zugriff auf ein Azure-Abonnement mit Besitzerberechtigungen .
- Zugriff auf ein GitHub-Konto
- Möglichkeit zum Ausführen von Entwicklungscontainern in Visual Studio Code oder GitHub Codespaces, wie im folgenden Abschnitt beschrieben.
Entwicklungscontainer
Dieses Modul enthält Konfigurationsdateien, in denen ein Entwicklungscontainer (oder Dev-Container) definiert wird. Durch die Verwendung des Entwicklungscontainers wird eine standardisierte Umgebung gewährleistet, in der die erforderlichen Tools vorkonfiguriert sind.
Der Entwicklungscontainer kann in einer von zwei Umgebungen ausgeführt werden. Bevor Sie beginnen, führen Sie die in einem der folgenden Links dargestellten Schritte aus, um Ihre Umgebung einzurichten, einschließlich der Installation von Docker und der erforderlichen Visual Studio Code-Erweiterungen.
- Visual Studio Code und eine unterstützte Docker-Umgebung auf Ihrem lokalen Computer
- GitHub Codespaces (möglicherweise kostenpflichtig)