Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PPFS2021 : Power Virtual Agents & Multiples environnements : comment faire grâce à Azure DevOps

PPFS2021 : Power Virtual Agents & Multiples environnements : comment faire grâce à Azure DevOps

Session présentée au Power Platform French Summit 2021, mêlant Power Virtual Agents, Power Platform & Azure DevOps

Nicolas ROBERT

November 19, 2021
Tweet

More Decks by Nicolas ROBERT

Other Decks in Technology

Transcript

  1. POWER VIRTUAL AGENTS & MULTIPLES ENVIRONNEMENTS : COMMENT FAIRE GRÂCE

    À AZURE DEVOPS ! MON RETOUR D’EXPÉRIENCE SUR UN CAS CONCRET
  2. Nicolas ROBERT Digital Advisor - Cellenza Contact : Twitter :

    @NicoRobPro LinkedIn : www.linkedin.com/in/robertnicolas
  3. POWER VIRTUAL AGENTS (PVA) SOLUTIONS POWER APPS : IMPORT /

    EXPORT POWER PLATFORM BUILD TOOLS POUR AZURE DEVOPS DÉMO CONCLUSION AGENDA
  4. RÉALISATION DE CHATBOT « NO-CODE » Démonstrations de Power Virtual

    Agents | Microsoft Power Virtual Agents https://powervirtualagents.microsoft.com/fr-fr/demo/
  5. OUTILS DE CRÉATION DE CHATBOT MICROSOFT Plusieurs outils, parfois interconnectables

    : - Power Virtual Agents, « no-code » - Bot Framework Composer, « low-code » : mixte no-code / code - Bot Framework SDK, « full code » “Choose a bot-building tool” - Learn | Microsoft Docs (https://docs.microsoft.com/en-us/learn/modules/choose-bot-building-tool/)
  6. DES INTERCONNEXIONS POSSIBLES Bot Framework “skill” utilisé dans PVA PVA

    “skill” utilisé dans Bot Framework (nouveauté Ignite Novembre 2021) Bot Composer utilisé dans PVA
  7. QUELQUES PROBLÉMATIQUES DE PVA Gestion d’environnements multiples ? Mises en

    production ? Versioning ? Comment travailler en équipe ?
  8. GESTION DE SOLUTION L’export de solution est faisable mais :

    - Déclenchement manuel - Multiples opérations d’édition (version, contenu etc.) - Editions du contenu interne pour changer nom du bot, titre, paramètres internes... - Présence de secret / passwords dans l’export ➔ Trop soumis à erreur(s) et chronophage
  9. BUILD TOOLS - CONNEXION Username + password •Ne supporte pas

    le MFA Service principal + Client secret •Support le MFA •Approche recommandée
  10. BUILD TOOLS – LISTE DES TÂCHES • Power Platform Tool

    Installer • Power Platform WhoAmI Helpers • Power Platform Checker Quality Check • Power Platform Import Solution • Power Platform Apply Solution Upgrade • Power Platform Export Solution • Power Platform Unpack Solution • Power Platform Pack Solution • Power Platform Delete Solution • Power Platform Publish Customizations • Power Platform Set Solution Version • Power Platform Deploy Package Solution tasks • Power Platform Create Environment • Power Platform Delete Environment • Power Platform Backup Environment • Power Platform Copy Environment Environment tasks
  11. Phase 1 - Pipeline PVA > DevOps - Récupère la

    solution (export) - Dézippe la solution (unpack) - Commit sur le repository DevOps L’IDÉE POUR LE VERSIONING Power Platform Tool Installer Power Platform Export Solution Power Platform Unpack Solution Commit solution to repository
  12. Phase 2 : Pipeline DevOps > PVA - Récupère les

    sources sur le repository - Zippe la solution (pack) - Transfère la solution (import) L’IDÉE POUR LE DÉPLOIEMENT Repository checkout Power Platform Tool Installer Power Platform Pack Solution Power Platform Import Solution
  13. QUELQUES PROBLÉMATIQUES RESTANTES Le code contient différents infos que l’on

    veut différencier : - Le nom du bot - Le nom de la solution - Des paramètres d’appel d’Azure Function dans le Flow : - URL - Paramètres OAuth … Mais on aura des solutions
  14. PRÉREQUIS • Côté Azure Active Directory, un Service Principal (=

    une application registration) ou le droit d’en créer un • Côté PVA : • Un bot « DEV » dans un 1er environnement • Un 2nd environnement cible • Les permissions sur les environnements pour y créer un « AppUser » et éditer son rôle • Côté Azure DevOps : • Les permissions pour créer une service connection et installer des extensions (Power Platform Build Tools + RegexReplace) • Un repository, des pipelines
  15. LES ÉTAPES • Création Service Principal pour environnements Power Platform

    Azure Active Directory • Création AppUser et paramétrage rôle sur environnements DEV + PRD Centre d’administration Power Platform • Création Service Connections DEV + PRD Azure DevOps project settings • Création des pipelines (YAML) d’import et de déploiement Azure DevOps repositories • Mise en place de l’exécution des pipelines Azure DevOps pipelines
  16. AZDO – EXÉCUTION PHASE 1 Power Platform Tool Installer Power

    Platform Export Solution Power Platform Unpack Solution Commit solution to repository
  17. AZDO – EXÉCUTION PHASE 2 Repository checkout Power Platform Tool

    Installer Power Platform Pack Solution Power Platform Import Solution
  18. RESTE À FAIRE POST DÉPLOIEMENT • Setup bot cible :

    • Personnaliser les canaux (webchat, Teams etc) • Paramétrer l’end-user authentification si vous l’utilisez • Ajouter des utilisateurs « Gestionnaires » du bot • Flow cible : • Si votre bot appelle un flux Power Automate, il sera inclus dans le package mais inactif au déploiement, nécessitant une action manuelle (cf doc)
  19. CONCLUSION • It works (not only on my machine…) •

    Permet d’avoir une approche un peu plus « dev » du no-code • Versioning du bot • Deploiement automatisé • La mécanique peut certainement être réutilisées sur les autres outils Power Platform (Power Automate et Power Apps) • Pistes d’amélioration : • Affiner les droits mis sur les AppUser dans les environnements • Utiliser les « versions » de solutions • Solution managée vs non managée ?
  20. QUELQUES ASTUCES « Do and don’t » - Ne tentez

    pas de déployer le bot dans le même environnement (cf ID uniques des dossiers) - Assurez-vous de ne pas commit de secrets / password qui pourraient notamment être dans vos flows