Présentation

Effectué

Imaginez que vous travaillez en tant qu’ingénieur logiciel pour un détaillant de vêtements en ligne. Vous êtes responsable du déploiement et de la mise à jour de la vitrine en ligne du détaillant, une application .NET basée sur le cloud native et basée sur des microservices.

Pour répondre aux exigences de projet et améliorer les pratiques de développement agile de votre équipe, vous décidez de comparer l’intégration continue et le déploiement continu (CI/CD) via GitHub Actions et Azure Pipelines. Les pipelines CI/CD utilisent une série d’étapes automatisées pour compiler et déployer des applications à partir de l’environnement de build dans tous les environnements.

Étant donné que le web actuel a une architecture de microservices et que chaque microservice se déploie indépendamment, vous commencez par configurer CI/CD pour un seul service.

L’API web .NET, nommée service produit, prend en charge toutes les fonctionnalités du catalogue principal du site web. Dans ce module, vous allez implémenter un pipeline CI/CD pour le service de produit.

Ce module vous guide tout au long des étapes suivantes :

  • Authentifiez GitHub Actions dans un registre de conteneurs.
  • Stockez en toute sécurité des informations sensibles que GitHub Actions utilise.
  • Implémentez une action pour générer l’image conteneur d’un microservice.
  • Modifiez et validez le code de microservice pour déclencher une build.
  • Implémentez une action pour déployer le conteneur mis à jour sur un cluster Azure Kubernetes Service (AKS).
  • Modifiez et validez un graphique Helm pour déclencher le déploiement.
  • Rétablissez le déploiement précédent du microservice.

Vous utilisez votre propre abonnement Azure pour déployer les ressources dans ce module. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Important

Pour éviter les frais inutiles dans votre abonnement Azure, veillez à supprimer vos ressources Azure lorsque vous avez terminé avec ce module.

Conditions préalables

  • Connaissance conceptuelle des pratiques DevOps.
  • Connaissance conceptuelle des conteneurs, Docker et AKS.
  • Accès à un abonnement Azure avec des autorisations Propriétaire .
  • Accès à un compte GitHub.
  • Possibilité d’exécuter des conteneurs de développement dans Visual Studio Code ou GitHub Codespaces, configurée comme décrit dans la section suivante.

Conteneur de développement

Ce module inclut des fichiers de configuration qui définissent un conteneur de développement ou un conteneur de développement. L’utilisation du conteneur dev garantit un environnement standardisé préconfiguré avec les outils nécessaires.

Le conteneur dev peut s’exécuter dans deux environnements au choix. Avant de commencer, suivez les étapes de l’un des liens suivants pour configurer votre environnement, y compris l’installation de Docker et des extensions Visual Studio Code nécessaires.