Wprowadzenie
Wyobraź sobie, że pracujesz jako inżynier oprogramowania dla internetowego sprzedawcy odzieżowego na zewnątrz. Odpowiadasz za wdrażanie i aktualizowanie witryny sklepu internetowego sprzedawcy detalicznego, natywnej dla chmury, opartej na mikrousług aplikacji .NET.
Aby spełnić wymagania dotyczące projektu i ulepszyć elastyczne praktyki programistyczne zespołu, decydujesz się porównać ciągłą integrację i ciągłe wdrażanie (CI/CD) za pomocą funkcji GitHub Actions i usługi Azure Pipelines. Potoki CI/CD wykorzystują serię zautomatyzowanych kroków do kompilowania i wdrażania aplikacji od kompilacji po wszystkie środowiska.
Ponieważ obecny Internet ma architekturę mikrousług, a każda mikrousługa jest wprowadzana niezależnie, należy rozpocząć od skonfigurowania CI/CD dla jednej usługi.
Internetowy interfejs API platformy .NET o nazwie usługi produktuobsługuje wszystkie funkcje katalogu zaplecza witryny internetowej. W tym module zaimplementujesz potok CI/CD dla usługi produktowej.
Ten moduł przeprowadzi Cię przez następujące kroki:
- Uwierzytelnij GitHub Actions w rejestrze kontenerów.
- Bezpieczne przechowywanie poufnych informacji używanych przez funkcję GitHub Actions.
- Zaimplementuj akcję w celu skompilowania obrazu kontenera dla mikrousługi.
- Zmodyfikuj i zatwierdź kod mikrousługi, aby wyzwolić kompilację.
- Zaimplementuj akcję w celu wdrożenia zaktualizowanego kontenera w klastrze usługi Azure Kubernetes Service (AKS).
- Zmodyfikuj i zatwierdź chart Helm, aby wyzwolić wdrożenie.
- Przywróć mikrousługę do poprzedniego wdrożenia.
Używasz własnej subskrypcji platformy Azure do wdrażania zasobów w tym module. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto .
Ważny
Aby uniknąć niepotrzebnych opłat w ramach subskrypcji platformy Azure, pamiętaj, aby usunąć zasoby platformy Azure po zakończeniu pracy z tym modułem.
Warunki wstępne
- Koncepcyjna wiedza na temat praktyk metodyki DevOps.
- Koncepcyjna wiedza na temat kontenerów, platformy Docker i usługi AKS.
- Dostęp do subskrypcji platformy Azure z uprawnieniami właściciela.
- Dostęp do konta usługi GitHub.
- Możliwość uruchamiania kontenerów deweloperskich w programie Visual Studio Code lub GitHub Codespaces, skonfigurowana zgodnie z opisem w poniższej sekcji.
Kontener deweloperski
Ten moduł zawiera pliki konfiguracji, które definiują kontener deweloperski lub kontener deweloperski . Użycie kontenera deweloperskiego zapewnia ustandaryzowane środowisko, które jest wstępnie skonfigurowane przy użyciu wymaganych narzędzi.
Kontener deweloperski może działać w jednym z dwóch środowisk. Przed rozpoczęciem wykonaj kroki opisane w jednym z poniższych linków, aby skonfigurować środowisko, w tym zainstalowanie platformy Docker i niezbędnych rozszerzeń programu Visual Studio Code.
- Visual Studio Code i wspierane środowisko Docker na komputerze lokalnym.
- GitHub Codespaces (mogą obowiązywać opłaty).