ALM avec Azure DevOps

Effectué

Les architectes de solution dirigent l’effort de définition du processus de promotion des changements, du développement à la production. Cet effort comprend la définition du nombre d’étapes, par exemple, développement > test > production et les processus de promotion, qu’ils soient manuels ou automatisés.

Microsoft développe des outils permettant de soutenir ce processus avec Microsoft Azure DevOps à l’aide de l’intégration continue (CI) et du déploiement continu (CD).

Cette section présente un aperçu d’Azure DevOps et la façon dont vous pouvez automatiser les déploiements à l’aide de DevOps avec Microsoft Power Platform.

Azure DevOps

Azure DevOps offre des services de développement aux équipes de support technique pour planifier le travail, collaborer au développement de code et créer et déployer des applications.

Schéma présentant la collaboration dans Azure DevOps.

Azure DevOps contient de nombreuses fonctionnalités aidant au développement d’applications :

  • Azure Boards : permet de planifier, suivre et discuter du travail au sein de vos équipes.
  • Azure Pipelines : permet d’automatiser les builds et les versions d’intégration en continu et de déploiement en continu (CI/CD).
  • Azure Repos : pour le contrôle de la source afin de stocker et suivre les modifications.
  • Azure Test Plans : permet de planifier, mettre en œuvre et suivre les tests de scripts.
  • Azure Artifacts : permet de publier des solutions créées par des pipelines de build.

Pipelines

Power Apps crée des outils permettant d’automatiser les tâches courantes de construction et de déploiement liées à Power Apps à l’aide d’Azure Pipelines.

Les pipelines de build permettent d’effectuer les opérations suivantes :

  • créer des environnements de développement ;
  • valider les modifications, du développement au contrôle de code source ;
  • activer l’outil Vérificateur de solution ;
  • effectuer un test automatisé ;
  • créer des solutions de sortie à partir du contrôle de code source (par exemple, géré ou non géré).

Les pipelines de mise en production permettent d’effectuer les opérations suivantes :

  • prendre des solutions à partir de pipelines de build et les déployer dans un ou plusieurs environnements de test ou de production ;
  • effectuer des tests automatisés dans le cadre du processus de mise en production ;
  • faire une pause en vue de l’approbation avant de passer à l’environnement suivant.

Les tâches dans Microsoft Power Platform Build Tools permettent de composer vos pipelines de build et de mise en production avec toute autre tâche Azure DevOps. Les pipelines que les équipes établissent généralement sont Initiate, Export from Dev, Build et Release.

Schéma d’Azure DevOps avec Microsoft Power Platform.

Méthodologies de déploiement

Lors du déploiement de solutions au moyen d’un pipeline de mise en production, vous devez prendre une décision pour transmettre la mise en production manuellement ou automatiquement. Vous pouvez configurer les exécutions du pipeline de mise en production afin qu’elles soient transmises manuellement par un utilisateur Azure DevOps, exécutées automatiquement selon un calendrier ou déclenchées par une demande de tirage. Vous pouvez activer le déploiement continu sur un pipeline de mise en production pour transmettre la dernière build de la solution à d’autres environnements dès qu’elle est disponible.

Pour les interruptions/corrections immédiates d’une solution, un déclencheur manuel est probablement la méthode privilégiée afin de rendre la build la plus récente disponible dans les environnements en amont le plus rapidement possible, tandis qu’un déclencheur planifié ou de demande de tirage est plus logique lorsque les mises à jour de la solution sont effectuées régulièrement.

Capture d’écran des options de déclencheur de pipeline de mise en production Déclencheur de déploiement continu et Déclencheur de demande de tirage.

Capture d’écran de l’option de déclencheur de pipeline de mise en production Déclencheur de mise en production planifié.

Prenons cet exemple :

Contoso Bank dispose d’une équipe de développeurs travaillant sur une solution Power Platform complexe devant passer par diverses phases de test avant sa mise en production. L’équipe de développement utilise des méthodologies Agile pour ses projets de développement et applique un modèle régulier de cycles de build et de mise en production. Par conséquent, l’équipe de développement de Contoso Bank utilise le déclencheur de pipeline de mise en production planifié, où le calendrier est basé sur ses cycles de sprint prédéfinis. Il s’agit d’une approche automatisée de transmission des mises en production.

Cependant, si un bogue majeur est découvert dans un environnement de test d’assurance qualité (UAT), les développeurs peuvent choisir de corriger le bogue avec une nouvelle build et de déclencher manuellement le pipeline de mise en production afin que les tests menés dans l’environnement UAT puissent se poursuivre aussi rapidement que possible.

Contoso Bank gère peut-être un projet plus modeste sans délais stricts pour les cycles de mise en production. Dans ce cas, il peut être préférable d’utiliser un déclencheur manuel pour le pipeline de mise en production, car il n’y a pas de rythme régulier pour la mise à disposition de nouvelles builds.

Pour en savoir plus sur le passage d’un ALM manuel à un ALM automatisé à l’aide de DevOps, et les bonnes pratiques relatives à la méthodologie de déploiement qui vous convient, consultez Passage d’un ALM manuel à un ALM automatisé à l’aide de DevOps.

Autres outils d’automatisation

Voici d’autres méthodes d’automatisation des déploiements sans utiliser Azure DevOps :

  • Dataverse et les API d’administration permettent d’effectuer une automatisation à partir de tout langage pris en charge.
  • PowerShell peut être utilisé à la place des tâches de build pour plus de contrôle.
  • Power Automate peut être utilisé avec les connecteurs d’administration de la plateforme pour automatiser les déploiements.
  • Les actions GitHub sont actuellement en version préliminaire.