Recommandations pour l’intégration continue
S’applique à cette recommandation de la liste de contrôle d’excellence opérationnelle bien conçue : Power Platform
OE:04 | Optimisez les processus de développement de logiciels et d’assurance qualité en suivant des pratiques de développement et de test éprouvées par l’industrie. Pour une désignation claire des rôles, standardisez les pratiques entre les composants tels que les outils, le contrôle de code source, les modèles de conception d’applications, la documentation et les guides de style. |
---|
L’adoption de l’intégration continue/livraison continue (CI/CD) peut accroître la complexité du développement pour les développeurs citoyens. Cependant, un processus de développement évolutif et automatisé, capable d’incorporer rapidement de nouvelles fonctionnalités et de corriger des bogues, est essentiel pour un processus de développement de fusion fiable et durable.
En tant que développeur, vous pouvez apporter de petites modifications au code, transférer ces modifications vers un référentiel de code et obtenir un retour presque instantané sur la qualité, la couverture des tests et les bogues introduits. Ce processus vous permet de travailler plus rapidement, avec plus de confiance et moins de risques. L’intégration continue est une pratique dans laquelle les systèmes de contrôle de source et les pipelines de déploiement sont intégrés pour fournir des mécanismes automatisés de création, de test et de rétroaction aux équipes de développement de logiciels.
Stratégies de conception clés
L’intégration continue est une pratique de développement logiciel que les développeurs utilisent pour intégrer les mises à jour logicielles dans un système de contrôle de code source à une cadence régulière.
Le processus d’intégration continue démarre lorsqu’un ingénieur génère une demande d’extraction pour signaler au système CI que les modifications de code sont prêtes à être intégrées. Idéalement, le processus d’intégration valide le code par rapport à plusieurs références et tests. Il fait ensuite un retour d’informations à l’ingénieur à l’origine de la demande sur le statut de ces tests.
Si les vérifications et les tests de base se déroulent correctement, le processus d’intégration produit et met en scène les actifs qui déploient le logiciel mis à jour. Ces actifs incluent du code compilé et des images de conteneurs.
L’intégration continue vous permet de fournir plus rapidement des logiciels de haute qualité via les actions suivantes :
- en exécutant des tests automatisés sur le code pour permettre une détection précoce des changements cassants ;
- en exécutant une analyse de code pour garantir les normes, la qualité et la configuration du code ;
- en exécutant des contrôles de conformité et de sécurité pour vous assurer que le logiciel est dépourvu de toute vulnérabilité connue ;
- en exécutant des tests d’acceptation ou fonctionnels pour vous assurer que le logiciel fonctionne comme prévu ;
- en fournissant des commentaires rapides sur les problèmes détectés ;
- en produisant, le cas échéant, des actifs ou des packages déployables (mise à jour du code incluse).
Environnements
L’installation et la configuration de l’environnement sont essentielles à un CI/CD durable et fiable. Des environnements Power Platform peuvent être configurés pour isoler les différentes étapes de développement, de test et de déploiement de la solution. Le processus CI/CD fait passer les changements à travers ces étapes. Établir une stratégie environnementale avec des principes directeurs pour les environnements de développement.
Pipelines d’intégration continue
Pour réaliser une intégration continue, utilisez des outils pour gérer, intégrer et automatiser le processus. Un pipeline d’intégration continue offre :
- Une plateforme pour exécuter des tests automatisés
- Analyses de conformité
- Signalement
- Tous les autres composants qui composent le processus d’intégration continue
Dans la plupart des cas, le logiciel du pipeline est attaché au contrôle de source afin que lorsque des demandes d’extraction sont créées ou que le logiciel est fusionné dans une branche spécifique, le pipeline d’intégration continue s’exécute. L’intégration du contrôle de source offre également la possibilité de donner des commentaires CI directement sur les demandes d’extraction.
De nombreuses solutions, comme Azure Pipelines ou GitHub Actions, offrent les capacités de pipelines d’intégration continue. En savoir plus dans Créer CI/CD avec Azure pour Microsoft Power Platform.
Intégration du contrôle de code source
L’intégration de votre pipeline d’intégration continue avec votre système de contrôle de code source est essentielle pour permettre des contributions de code rapides et en libre-service.
Le pipeline CI s’exécute sur une demande d’extraction récemment créée. Le pipeline comprend tous les tests, évaluations de sécurité et autres contrôles. Les résultats des tests CI s’affichent directement dans la demande d’extraction pour permettre des commentaires sur la qualité quasiment en temps réel.
Une autre pratique populaire consiste à créer de petits rapports ou badges qui peuvent être présentés dans le cadre du contrôle de code source pour rendre visibles les états de construction actuels.
L’image suivante montre l’intégration entre GitHub et un pipeline Azure DevOps. Dans cet exemple, la création d’une pull request déclenche le pipeline. Le statut du pipeline s’affiche dans la demande d’extraction.
Intégration du test
Un élément clé de l’intégration continue est la création et le test continus du code à mesure que les développeurs apportent leur contribution au code. Tester les demandes d’extraction au fur et à mesure de leur création donne des commentaires immédiats indiquant que la validation n’a introduit aucune modification majeure. L’avantage ? Les tests du pipeline d’intégration continue peuvent être les mêmes que ceux exécutés lors du développement piloté par les tests.
Contrôles de qualité pour le code personnalisé
Lorsque vous incluez du code personnalisé dans vos solutions, ajoutez des contrôles de qualité du code à un pipeline de validation pour garantir que du code personnalisé propre est validé dans le contrôle de code source. Quels que soient le langage de codage et les modèles de syntaxe que vous utilisez, il existe plusieurs options pour maintenir la qualité du code et accroître la sécurité et la gouvernance.
Échec des tests
Les tests ayant connu un échec devraient bloquer temporairement un déploiement et conduire à une analyse plus approfondie de ce qui s’est passé. Les tests ayant échoué devraient également conduire soit à un affinement des tests, soit à une amélioration du changement qui a provoqué l’échec des tests.
Facilitation de Power Platform
Microsoft Power Platform Les outils de création pour Azure DevOps peuvent être utilisés pour automatiser les tâches de création et de déploiement courantes liées aux applications créées sur Power Platform.
Les actions GitHub permettent aux développeurs de créer des flux de travail automatisés tout au long du cycle de vie du développement logiciel. Power Platform Avec les actions GitHub pour Microsoft Power Platform, vous pouvez créer des flux de travail dans votre référentiel afin de créer, tester, empaqueter, publier et déployer des applications, effectuer l’automatisation et gérer les bots et autres composants basés sur Microsoft Power Platform.
ALM Accelerator est un outil open source composé d’un ensemble d’applications, de scripts et de pipelines conçus pour automatiser le processus d’intégration continue/livraison continue.
Automatisez les tests avec les pipelines Azure.
Power Apps L’API Web checker fournit un mécanisme permettant d’exécuter des contrôles d’analyse statique sur les personnalisations et les extensions de la Microsoft Dataverse plateforme.
Microsoft Power Platform CLI (PAC CLI) est un outil de ligne de commande qui prend en charge l’importation et l’exportation de Power Platform solutions, ainsi que l’empaquetage et le déballage à partir de Power Platform fichiers sources de solutions. PAC CLI est disponible en tant qu’ outil de ligne de commande autonome ou en tant qu’ extension pour Visual Studio Code.
Informations associées
- Gestion du cycle de vie des applications (ALM) avec Microsoft Power Platform
- Créez CI/CD avec Azure pour Microsoft Power Platform
- Power Platform environnements
- Établir une stratégie environnement
- Gouvernance du codéveloppement
- Utilisez des scénarios pour mettre en œuvre une ALM saine avec Microsoft Power Apps
- Automatisez les tests avec les pipelines Azure