Inleiding
Stel dat u als software-engineer werkt voor een online winkel voor buitenkleding. U bent verantwoordelijk voor het implementeren en bijwerken van de webwinkel van de retailer, een cloudeigen . NET-app op basis van microservices.
Als u wilt voldoen aan projectvereisten en de flexibele ontwikkelprocedures van uw team wilt verbeteren, besluit u continue integratie en continue implementatie (CI/CD) te vergelijken via GitHub Actions en Azure Pipelines. CI/CD-pijplijnen maken gebruik van een reeks geautomatiseerde stappen voor het compileren en implementeren van apps vanuit alle omgevingen.
Omdat het huidige web een microservicearchitectuur heeft en elke microservice onafhankelijk wordt geïmplementeerd, begint u met het instellen van CI/CD voor één service.
De .NET-web-API, genaamd de productservice, ondersteunt alle back-endcatalogusfuncties van de website. In deze module implementeert u een CI/CD-pijplijn voor de productservice.
In deze module wordt u begeleid bij de volgende stappen:
- GitHub Actions naar een containerregister verifiëren.
- Sla gevoelige informatie die door GitHub Actions wordt gebruikt, veilig op.
- Implementeer een actie om de containerinstallatiekopieën voor een microservice te bouwen.
- De microservice-code wijzigen en doorvoeren om een build te activeren.
- Implementeer een actie om de bijgewerkte container te implementeren in een AKS-cluster (Azure Kubernetes Service).
- Een Helm-grafiek wijzigen en doorvoeren om de implementatie te activeren.
- De microservice terugzetten naar de vorige implementatie.
U gebruikt uw eigen Azure-abonnement om de resources in deze module te implementeren. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Belangrijk
Als u onnodige kosten in uw Azure-abonnement wilt voorkomen, moet u uw Azure-resources verwijderen wanneer u klaar bent met deze module.
Vereisten
- Conceptuele kennis van DevOps-procedures.
- Conceptuele kennis van containers, Docker en AKS.
- Toegang tot een Azure-abonnement met eigenaarsmachtigingen .
- Toegang tot een GitHub-account.
- Mogelijkheid om ontwikkelcontainers uit te voeren in Visual Studio Code of GitHub Codespaces, ingesteld zoals beschreven in de volgende sectie.
Ontwikkelingscontainer
Deze module bevat configuratiebestanden waarmee een ontwikkelcontainer of dev-container wordt gedefinieerd. Het gebruik van een dev-container zorgt voor een gestandaardiseerde omgeving die vooraf is geconfigureerd met de vereiste hulpprogramma's.
De dev-container kan worden uitgevoerd in een van de twee omgevingen. Voordat u begint, volgt u de stappen in een van de volgende koppelingen om uw omgeving in te stellen, waaronder het installeren van Docker en de benodigde Visual Studio Code-extensies.
- Visual Studio Code en een ondersteunde Docker-omgeving op uw lokale computer.
- GitHub Codespaces (kosten kunnen van toepassing zijn).