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ągłej integracji/ciągłego wdrażania używają serii zautomatyzowanych kroków do kompilowania i wdrażania aplikacji z kompilacji we wszystkich środowiskach.
Ponieważ bieżąca sieć Web ma architekturę mikrousług, a każda mikrousługa jest wdrażana niezależnie, należy rozpocząć od skonfigurowania ciągłej integracji/ciągłego wdrażania dla jednej usługi.
Internetowy interfejs API platformy .NET o nazwie usługa produktu obsługuje wszystkie funkcje katalogu zaplecza witryny internetowej. W tym module zaimplementujesz potok ciągłej integracji/ciągłego wdrażania dla usługi produktu.
Ten moduł przeprowadzi Cię przez następujące kroki:
- Uwierzytelnianie funkcji 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.
- Modyfikowanie i zatwierdzanie kodu mikrousługi w celu wyzwolenia kompilacji.
- Zaimplementuj akcję w celu wdrożenia zaktualizowanego kontenera w klastrze usługi Azure Kubernetes Service (AKS).
- Zmodyfikuj i zatwierdź wykres 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żne
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.
Wymagania 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 programistycznych w programie Visual Studio Code lub GitHub Codespaces, skonfigurowana zgodnie z opisem w poniższej sekcji.
Kontener deweloperów
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.
- Program Visual Studio Code i obsługiwane środowisko platformy Docker na komputerze lokalnym.
- GitHub Codespaces (mogą być stosowane koszty).