Introduktion

Slutförd

Tänk dig att du arbetar som programvaruingenjör för en onlinebutik för utomhuskläder. Du ansvarar för att distribuera och uppdatera återförsäljarens onlinebutik, en molnbaserad, mikrotjänstbaserad .NET-app.

För att uppfylla projektkraven och förbättra teamets flexibla utvecklingsmetoder bestämmer du dig för att jämföra kontinuerlig integrering och kontinuerlig distribution (CI/CD) via GitHub Actions och Azure Pipelines. CI/CD-pipelines använder en serie automatiserade steg för att kompilera och distribuera appar från build via alla miljöer.

Eftersom den aktuella webben har en arkitektur för mikrotjänster, och varje mikrotjänst distribueras oberoende av varandra, börjar du med att konfigurera CI/CD för en enda tjänst.

.NET-webb-API:t, som heter produkttjänst, stöder alla katalogfunktioner för serverdelen på webbplatsen. I den här modulen implementerar du en CI/CD-pipeline för produkttjänsten.

Den här modulen vägleder dig genom följande steg:

  • Autentisera GitHub Actions till ett containerregister.
  • Lagra känslig information som GitHub Actions använder på ett säkert sätt.
  • Implementera en åtgärd för att skapa containeravbildningen för en mikrotjänst.
  • Ändra och kommittera mikrotjänstkoden för att utlösa ett bygge.
  • Implementera en åtgärd för att distribuera den uppdaterade containern till ett AKS-kluster (Azure Kubernetes Service).
  • Ändra och checka in ett Helm-diagram för att utlösa distributionen.
  • Återställ mikrotjänsten till den tidigare distributionen.

Du använder din egen Azure-prenumeration för att distribuera resurserna i den här modulen. Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Viktig

För att undvika onödiga avgifter i din Azure-prenumeration måste du ta bort dina Azure-resurser när du är klar med den här modulen.

Förutsättningar

  • Konceptuell kunskap om DevOps-metoder.
  • Konceptuell kunskap om containrar, Docker och AKS.
  • Åtkomst till en Azure-prenumeration med ägare behörigheter.
  • Åtkomst till ett GitHub-konto.
  • Möjlighet att köra utvecklingscontainrar i Visual Studio Code eller GitHub Codespaces, konfigureras enligt beskrivningen i följande avsnitt.

Utvecklingscontainer

Den här modulen innehåller konfigurationsfiler som definierar en utvecklingscontainereller utvecklingscontainer. Att använda en utvecklingscontainer säkerställer en standardiserad miljö som är förkonfigurerad med de verktyg som krävs.

Utvecklingscontainern kan köras i någon av två miljöer. Innan du börjar följer du stegen i någon av följande länkar för att konfigurera din miljö, inklusive installation av Docker och nödvändiga Visual Studio Code-tillägg.