Einführung
Angenommen, Sie arbeiten als Softwareentwickler für einen Outdoor-Textileinzelhändler. Sie sind für die Bereitstellung und Aktualisierung der Webstorefront des Einzelhändlers verantwortlich, einer cloudnativen microservicesbasierten .NET-App.
Um Projektanforderungen zu erfüllen und die agilen Entwicklungsmethoden Ihres Teams zu verbessern, entscheiden Sie sich, Continuous Integration und Continuous Deployment (CI/CD) über GitHub Actions 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 Netz eine Microservice-Architektur verwendet und jeder Microservice unabhängig bereitgestellt wird, richten Sie zunächst CI/CD für einen einzelnen Dienst ein.
Die .NET-Web-API mit dem Namen Product Service unterstützt alle Back-End-Katalogfeatures der Website. In diesem Modul implementieren Sie eine CI/CD-Pipeline für den Produktdienst.
Dieser Assistent führt Sie durch die folgenden Schritte:
- Authentifizieren von GitHub Actions bei einer Containerregistrierung.
- Sicheres Speichern vertraulicher Informationen, die GitHub Actions verwendet
- Implementieren einer Aktion, um das Containerimage für einen Microservice zu erstellen
- Ändern und Committen des Microservicecodes, um einen Build auszulösen.
- Implementieren einer Aktion, um den aktualisierten Container in einem Azure Kubernetes Service-Cluster (AKS) bereitzustellen
- Ändern und Committen eines Helm-Diagramms, um die Bereitstellung auszulösen
- Zurücksetzen des Microservice auf die vorherige Bereitstellung
Zum Bereitstellen der Ressourcen in diesem Modul verwenden Sie Ihr eigenes Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Wichtig
Um unnötige Gebühren in Ihrem Azure-Abonnement zu vermeiden, löschen Sie unbedingt Ihre Azure-Ressourcen, sobald Sie dieses Modul absolviert haben.
Voraussetzungen
- Konzeptionelle Kenntnisse von DevOps-Methoden
- Konzeptionelle Kenntnisse zu 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)