Automatiser la gestion des solutions

Effectué

Dans ce module, vous avez déjà découvert comment les solutions peuvent être très pratiques pour suivre les éléments de votre application et les déplacer manuellement entre différents endroits. Voyons maintenant comment l’automatisation permet de rendre la gestion de vos applications encore plus solide grâce à ce qu’on appelle l’Application Lifecycle Management (ALM). L’ALM ne consiste pas seulement à créer l’application ; le processus couvre tout, depuis l’établissement de règles (telles que des exigences), le développement et le bon fonctionnement des éléments. Les solutions font office d’acteurs clés de votre stratégie ALM, aux côtés d’autres outils utiles comme Azure DevOps ou GitHub.

En général, un architecte de solution sur votre projet élabore le plan ALM et une personne compétente en DevOps configure l’automatisation. En tant que membre de l’équipe, votre travail consiste à rester impliqué dans le processus en gérant vos tâches à l’aide de l’outil choisi et en gardant un œil sur les modifications de votre application et des flux à l’aide de solutions. Une fois votre travail terminé, l’automatisation ALM prend le relais. Elle lance une série d’actions qui déplacent automatiquement vos modifications de l’environnement de développement vers l’environnement de test, puis l’environnement de production. Chaque étape peut nécessiter des approbations pour s’assurer que tout est sur la bonne voie. Imaginez le cycle de vie d’une application comme un cycle sans fin de développement d’application qui comprend la planification, la création, les tests, le déploiement, l’exécution, la surveillance et les enseignements que vous tirez de ce que vous découvrez en cours de route.

Bien que toutes les actions puissent être effectuées manuellement, l’automatisation garantit qu’elles sont réalisées systématiquement de manière homogène. Elles peuvent également se produire si, par exemple, la personne effectuant les actions manuelles est malade. Des outils axés sur le DevOps comme Azure DevOps ou GitHub fournissent l’automatisation, mais également le suivi des éléments de travail et le contrôle de code source.

Contrôle de code source et solutions

Le contrôle de code source, que vous pouvez trouver dans des outils comme Azure DevOps et GitHub, s’apparente à un super-outil de suivi des versions pour toutes les parties de votre projet. Imaginez que vous travaillez sur une Power App et que vous apportez des modifications. Chaque fois que vous le faites, cela revient à créer une version de votre projet. Vous pouvez également noter les modifications que vous avez apportées à l’aide d’« éléments de travail » et ces notes peuvent être liées à la version. Ainsi, votre équipe peut conserver une trace du moment où des modifications ont été apportées et vous pouvez annuler toutes celles qui ont causé des problèmes. Par conséquent, pendant que votre équipe est occupée à créer une version plus récente de quelque chose, la version actuelle peut toujours être utilisée.

Le contrôle de code source est primordial dans l’Application Lifecycle Management (ALM), car il constitue la source ultime de vérité pour votre projet. Même si votre environnement de développement se bloque, ne vous inquiétez pas. Vous pouvez le recréer à l’aide des informations stockées dans le contrôle de code source. D’une certaine manière, le contrôle de code source rend les environnements de développement remplaçables. Lorsque vous envoyez des éléments vers un environnement de test ou de production, vous envoyez en réalité ce qui se trouve dans le contrôle de code source, et non uniquement quelque chose d’aléatoire provenant de votre espace de développement.

Mais voici le problème : lorsque vous exportez une solution depuis votre environnement, cela revient à regrouper tout dans un seul gros fichier. Si vous placez simplement ce fichier dans le contrôle de code source, il peut seulement vous indiquer qu’une modification a été apportée, mais sans révéler exactement ce qui a changé dans chaque partie. Pour le rendre plus utile, nous ajoutons donc une étape au processus d’automatisation. Cette étape extrait la solution de votre espace de développement, la décompresse (comme si vous ouvriez une valise remplie) et crée des fichiers distincts pour chaque partie. Ces fichiers distincts sont ensuite placés dans le contrôle de code source. Ainsi, vous pouvez garder une trace détaillée de tous les changements. De plus, cela permet d’avoir plusieurs environnements de développement qui suivent tous les modifications apportées au contrôle de code source, réduisant ainsi le risque qu’une modification en gâche une autre.

Automatisation avec les outils DevOps

L’automatisation est importante, car elle apporte de l’homogénéité à ce qui serait autrement un processus manuel. Une fois créées, les automatisations peuvent s’exécuter à la demande, selon un calendrier ou en fonction d’un événement d’archivage. Bien que de nombreux outils vous permettent d’implémenter l’automatisation, Azure Pipelines et GitHub Actions sont tous deux dotés d’une prise en charge prédéfinie des tâches et actions Power Platform par Microsoft.

Que pouvez-vous automatiser ?

Vous pouvez automatiser un large éventail d’éléments, car l’automatisation exécute simplement des tâches ou actions. Considérez-la comme similaire à un flux Power Automate, mais davantage dédiée à l’utilisation de la gestion et des déploiements d’applications. Voici certaines des automatisations courantes effectuées dans des projets Power Platform :

  • Création d’un environnement de développement et installation de solutions à partir du contrôle de code source

  • Extraction de modifications de l’environnement de développement et mise à jour du contrôle de code source

  • Exécution du Vérificateur de solution pour identifier les problèmes de qualité

  • Approvisionnement et désapprovisionnement d’environnements

  • Exécution de tests automatisés, notamment des tests Power Apps Test Studio

  • Création de solutions gérées à partir du contrôle de code source pour le déploiement dans des environnements en aval

  • Déploiement dans des environnements en aval tels que des environnements de test et de production

L’automatisation est adaptée aux besoins de chaque projet, mais les phases de lancement, de création et de mise en production font généralement l’objet d’automatisations.

Lorsque vous travaillez sur un projet utilisant l’automatisation, vous devez connaître les processus globaux en place. Cependant, la création de l’automatisation est généralement effectuée par une ressource axée sur le DevOps.

Power Platform Build Tools

Microsoft Power Platform Build Tools s’apparente à une boîte à outils conçue pour gérer les applications sur Microsoft Power Platform. Ces outils sont un ensemble d’actions utiles qui vous évitent de rechercher des outils spéciaux et d’écrire des scripts compliqués pour gérer différentes tâches dans le cycle de vie de votre application. Vous pouvez les exploiter soit séparément pour effectuer des tâches spécifiques, comme intégrer une application à un nouvel environnement, soit ensemble dans une séquence afin que des actions se produisent automatiquement.

Selon que vous automatisez votre travail à l’aide d’Azure DevOps ou de GitHub Actions, les mots sophistiqués peuvent changer un peu. Dans Azure DevOps, nous appelons ces actions des « tâches », tandis que dans GitHub Actions, nous les appelons des « actions ».

Voici certaines des opérations les plus courantes :

  • Vérificateur Power Platform : exécute une analyse statique sur votre solution et vous permet de détecter des problèmes tôt en l’ajoutant à votre automatisation.

  • Exporter la solution : exporte une solution comme non gérée, gérée ou les deux à partir d’un environnement.

  • Importer la solution : importe une solution dans un environnement.

  • Décompresser la solution : divise un fichier de solution compressé en fichiers individuels pour chaque composant afin de permettre leur archivage dans le contrôle de code source.

  • Compresser la solution : compresse une solution représentée dans le contrôle de code source dans un fichier solution.zip pouvant être importé dans un autre environnement.

  • Définir la version de la solution : vous permet de mettre à jour le numéro de version dans votre automatisation et d’implémenter une stratégie cohérente de gestion des versions.

  • Créer, supprimer et copier des environnements : permet l’automatisation de la gestion des environnements dans le cadre d’automatisations.

Pourquoi vous embêter avec l’automatisation ? Il s’agit d’un moyen intelligent de vous assurer que votre processus de création d’applications est homogène et fiable. Si votre équipe fait encore tout manuellement, il est judicieux d’explorer certaines automatisations. Non seulement cela rend votre travail plus homogène, mais cela vous permet également de créer de meilleures applications et de les déployer avec une qualité supérieure.