Concevoir un pipeline CI/CD pour IoT Edge

Effectué

Une stratégie de CI/CD automatisée résout deux problèmes principaux :

  • la création d’une stratégie de test de détection de fumée pour des appareils Azure IoT Edge ;
  • l’intégration du code de plusieurs développeurs dans un processus automatisé par le biais d’une stratégie DevOps (intégration continue et livraison continue).

Dans cette unité, nous allons planifier la séquence d’étapes nécessaires à l’implémentation d’une solution au problème énoncé.

Avantages d’une stratégie de test

Une stratégie automatisée de test de détection de fumée offre de nombreux avantages.

  • Le déploiement est moins onéreux sur des appareils IoT virtuels que sur des appareils IoT physiques.
  • Un test de vérification de build réussi garantit que le programme est prêt à être testé en profondeur.
  • Les tests automatisés de détection de fumée évitent un remaniement coûteux pour des tests plus sophistiqués.
  • Optimisation du temps des équipes de développement et de test.

Pour implémenter cette solution, vous allez créer un test de vérification de build en tant que sous-ensemble de vos fonctionnalités principales. Le test doit être à score automatique, automatisé et capable de s’exécuter sur des appareils IoT virtuels. De plus, le test doit intégrer les principes de DevOps (intégration continue et livraison continue) pour les appareils IoT Edge.

Test des composants de solution

Vous allez utiliser les composants suivants pour la conception générale :

  • Azure Container Registry : Service de registre Docker privé utilisé pour stocker les modules IoT Edge publiés.

  • Service Azure IoT Hub Device Provisioning : Permet un provisionnement automatique et sécurisé des appareils IoT.

  • Azure IoT Hub : Ce service nous permet de connecter, superviser et gérer les appareils IoT de manière sécurisée.

  • Azure Pipelines : Service qui automatise vos builds et déploiements.

Spécifications du script de test

Pour implémenter cette solution, vous allez créer un pipeline de mise en production qui se déploie sur les appareils AQ. Vous effectuerez également un test de détection de fumée sur le runtime Edge dans un appareil conteneurisé. Son mode de conception entraîne l’exécution d’une instance de azure-iot-edge-device-container, qui est configuré en tant qu’appareil AQ. Les tests consistent en un probe du hub IoT visant à vérifier que l’appareil AQ reçoit la bonne configuration de déploiement et peut exécuter sans erreur tous les modules configurés.

Le script du test de détection de fumée met en œuvre les éléments suivants :

  • Test de l’existence du ou des appareils.
  • Test indiquant si l’appareil est connecté au hub IoT.
  • Test indiquant si l’appareil a appliqué un nouveau manifeste de déploiement.
  • Test indiquant si les modules spécifiés dans le manifeste de déploiement s’exécutent correctement.

Étapes du script de test

Les étapes impliquées sont les suivantes :

  1. Créez des ressources Azure.
  2. Configurer Azure DevOps Services.
  3. Configurer l’intégration continue.
  4. Créer un pipeline de mise en production avec un test de détection de fumée.
  5. Ajouter des tests d’intégration à un pipeline de mise en production.