Introduction
Forestil dig, at du arbejder som softwaretekniker for en online forhandler af udendørs tøj. Du er ansvarlig for at udrulle og opdatere forhandlerens onlinebutiksfront, en cloudbaseret .NET-app, der er baseret på mikrotjenester.
For at opfylde projektkravene og forbedre dit teams agile udviklingspraksis beslutter du dig for at sammenligne løbende integration og løbende udrulning (CI/CD) via GitHub Actions og Azure Pipelines. CI/CD-pipelines bruger en række automatiserede trin til at kompilere og installere apps fra build via alle miljøer.
Da det aktuelle websted har en microservices-arkitektur, og hver mikrotjeneste udrulles uafhængigt af hinanden, starter du med at konfigurere CI/CD for en enkelt tjeneste.
NET-web-API'en, der kaldes produkttjenesten, understøtter alle backend-katalogfunktionerne på webstedet. I dette modul skal du implementere en CI/CD-pipeline for produkttjenesten.
I dette modul gennemgås følgende trin:
- Godkend GitHub-handlinger til en objektbeholderregistreringsdatabase.
- Gem følsomme oplysninger, som GitHub Actions bruger, sikkert.
- Implementer en handling for at bygge objektbeholderbilledet til en mikrotjeneste.
- Rediger og bekræft mikrotjenestekoden for at udløse et build.
- Implementer en handling for at udrulle den opdaterede objektbeholder til en AKS-klynge (Azure Kubernetes Service).
- Rediger og bekræft et Helm-diagram for at udløse udrulningen.
- Gendan mikrotjenesten til den forrige udrulning.
Du kan bruge dit eget Azure-abonnement til at udrulle ressourcerne i dette modul. Hvis du ikke har et Azure-abonnement, skal du oprette en gratis konto , før du begynder.
Important
Hvis du vil undgå unødvendige gebyrer i dit Azure-abonnement, skal du slette dine Azure-ressourcer, når du er færdig med dette modul.
Prerequisites
- Konceptuel viden om DevOps-praksisser.
- Konceptuel viden om objektbeholdere, Docker og AKS.
- Adgang til et Azure-abonnement med ejertilladelser .
- Adgang til en GitHub-konto.
- Mulighed for at køre udviklingsobjektbeholdere i Visual Studio Code eller GitHub Codespaces, konfigureret som beskrevet i følgende afsnit.
Udviklingscontainer
Dette modul indeholder konfigurationsfiler, der definerer en udviklingscontainer eller dev-container. Brug af en udviklingsobjektbeholder sikrer et standardiseret miljø, der er forudkonfigureret med de påkrævede værktøjer.
Udviklingsobjektbeholderen kan køre i et af to miljøer. Før du begynder, skal du følge trinnene i et af følgende links for at konfigurere dit miljø, herunder installere Docker og de nødvendige Visual Studio Code-udvidelser.
- Visual Studio Code og et understøttet Docker-miljø på din lokale computer.
- GitHub Codespaces (omkostninger kan forekomme).