Automatiser votre pipeline de déploiement en utilisant des API et Azure DevOps
L’outil de pipelines de déploiement Microsoft Fabric permet aux équipes d’aide à la décision de créer un processus de mise en production efficace et réutilisable pour leur contenu Fabric.
Important
Microsoft Fabric est actuellement en préversion. Certaines informations portent sur un produit en préversion susceptible d’être substantiellement modifié avant sa publication. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Pour bénéficier de l’intégration continue et de la livraison continue (CI/CD) de contenu, de nombreuses organisations utilisent des outils d’automatisation, notamment Azure DevOps. Les organisations qui utilisent Azure DevOps peuvent utiliser l’extension d’outil Fabric Automation , qui prend en charge un grand nombre des opérations d’API des pipelines de déploiement.
Vous pouvez utiliser les API REST fabric des pipelines de déploiement pour intégrer Fabric dans le processus d’automatisation de votre organization. Voici quelques exemples de ce qu’il est possible de faire en utilisant les API :
Gérer les pipelines du début à la fin, ce qui inclut la création d’un pipeline, l’affectation d’un espace de travail à n’importe quelle phase, ainsi que le déploiement et la suppression du pipeline.
Affecter des utilisateurs à un pipeline et désaffecter des utilisateurs d’un pipeline.
Intégrez Fabric à des outils DevOps familiers tels qu’Azure DevOps ou GitHub Actions.
Planifier des déploiements de pipeline pour qu’ils se déclenchent automatiquement à un moment donné.
Déployer plusieurs pipelines en même temps.
Mettre en cascade des déploiements de pipeline. Si vous avez un contenu connecté à des pipelines, vous pouvez faire en sorte que certains pipelines soient déployés avant d’autres.
Fonctions des API des pipelines de déploiement
Les API REST fabric des pipelines de déploiement vous permettent d’effectuer les fonctions suivantes :
Obtenir des informations sur les pipelines : récupérez des informations sur vos pipelines et leur contenu. Obtention des informations sur les pipeline vous permet de créer dynamiquement les appels d’API de déploiement. Vous pouvez aussi consulter l’état d’un déploiement ou l’historique des déploiements.
Déployer : les appels REST permettent aux développeurs d’utiliser n’importe quel type de déploiement disponible dans le service Fabric.
Créer et supprimer des pipelines : utiliser les options Créer un pipeline et Supprimer le pipeline pour effectuer ces opérations.
Gérer les espaces de travail : avec Attribuer un espace de travail et Désattribuer l’espace de travail, vous pouvez attribuer des espaces de travail à des phases spécifiques du pipeline.
Gérer les utilisateurs du pipeline - : Supprimer un utilisateur de pipeline vous permet de supprimer un utilisateur d’un pipeline. Mettre à jour l’utilisateur du pipeline vous permet d’ajouter un utilisateur à votre pipeline.
Quels déploiements sont pris en charge par les API ?
Voici une liste des différents types de déploiement pris en charge par les API :
Déployer tout : un seul appel d’API qui déploie tout le contenu de l’espace de travail vers la phase suivante du pipeline. Pour cette opération, utilisez l’API Déployer tout.
Déploiement sélectif : déploie uniquement des éléments spécifiques, tels que des rapports ou des tableaux de bord, dans le pipeline. Pour cette opération, utilisez l’API Déploiement sélectif.
Déploiement vers l’arrière : déploie de nouveaux éléments à l’étape précédente. Le déploiement vers l’arrière ne fonctionne que si les éléments déployés n’existent pas déjà dans la phase cible. Pour cette opération, utilisez les API Déployer tout ou Déploiement sélectif avec
isBackwardDeployment
défini surTrue
.Mettre à jour l’application : dans le cadre de l’appel de l’API de déploiement, vous pouvez mettre à jour le contenu de l’application associée à cette phase. Les éléments mis à jour sont automatiquement disponibles pour vos utilisateurs finaux, une fois le déploiement terminé. Pour cette opération, utilisez les API Déployer tout ou Déploiement sélectif avec PipelineUpdateAppSettings.
Avant de commencer
Avant d’utiliser les API de pipelines de déploiement, vérifiez que vous disposez des éléments suivants :
Le principal de service ou l’utilisateur qui appellera les API a besoin d’autorisations de pipeline et d’espace de travail ainsi que d’un accès à une application Azure AD.
Si vous prévoyez d’utiliser des scripts PowerShell, installez les applets de commande PowerShell Power BI Install-Module MicrosoftPowerBIMgmt.
Intégrer votre pipeline à Azure DevOps
Pour automatiser les processus de déploiement à partir de votre pipeline de mise en production dans Azure DevOps, utilisez l’une des méthodes suivantes :
PowerShell : le script se connecte à Fabric à l’aide d’un principal de service ou d’un utilisateur.
Outils d’automatisation de la structure : cette extension fonctionne avec un principal de service ou un utilisateur.
Vous pouvez également utiliser d’autres appels d’API REST Fabric pour effectuer des opérations connexes telles que l’importation d’un fichier .pbix dans le pipeline, la mise à jour des sources de données et des paramètres.
Utiliser l’extension Outils d’automatisation de la structure
L’extension Fabric Automation Tools est une extension open source Azure DevOps qui fournit une gamme d’opérations de pipelines de déploiement qui peuvent être effectuées dans Azure DevOps. Elle élimine le besoin d’API ou de scripts pour gérer les pipelines. Chaque opération peut être utilisée individuellement pour effectuer une tâche telle que la création d’un pipeline. Des opérations peuvent être utilisées avec d’autres dans un pipeline Azure DevOps pour créer un scénario plus complexe comme la création d’un pipeline, l’affectation d’un espace de travail au pipeline, l’ajout d’utilisateurs et le déploiement.
Après avoir ajouté l’extension Outils d’automatisation fabric à DevOps, vous devez créer une connexion de service. Les connexions suivantes sont disponibles :
Principal de service (recommandé) - Cette connexion s’authentifie avec un principal de service et demande aux applications Azure AD un secret et un ID d’application. Lorsque vous utilisez cette option, vérifiez que les paramètres d’administration du service pour le principal de service sont activés.
Nom d’utilisateur et mot de passe – Configuré en tant que connexion de service générique avec un nom d’utilisateur et un mot de passe. Cette méthode de connexion ne prend pas en charge l’authentification multifacteur. Nous vous recommandons d’utiliser la méthode de connexion du principal de service, car elle ne nécessite pas de stockage des informations d’identification utilisateur sur Azure DevOps.
Notes
L’extension d’outils d’automatisation fabric utilise une connexion de service Azure DevOps pour stocker les informations d’identification. Pour plus d’informations, consultez Comment nous stockons vos informations d’identification pour Azure DevOps Services.
Après avoir activé une connexion de service pour vos outils d’automatisation Azure DevOps Fabric, vous pouvez créer des tâches de pipeline. L’extension comprend les tâches de pipeline de déploiement suivantes :
Créer un pipeline
Attribuer un espace de travail à une phase de pipeline
Ajouter un utilisateur à un pipeline de déploiement
Ajouter un utilisateur à un espace de travail
Déployer du contenu dans un pipeline de déploiement
Supprimer un espace de travail d’un pipeline de déploiement
Supprimer un pipeline
Accéder aux exemples PowerShell
Vous pouvez utiliser les scripts PowerShell suivants pour comprendre comment exécuter plusieurs processus d’automatisation. Pour visualiser ou copier le texte d’un exemple PowerShell, utilisez les liens fournis dans cette section.
Vous pouvez aussi télécharger l’intégralité du dossier GitHub PowerBI-Developer-Samples
.
Exemple PowerShell
Cette section décrit un exemple de script PowerShell qui déploie un jeu de données, un rapport et un tableau de bord, de la phase de développement vers la phase de test. Le script vérifie ensuite si le déploiement a réussi.
Pour exécuter un script PowerShell qui effectue un déploiement, vous avez besoin des composants suivants. Vous pouvez ajouter un ou plusieurs de ces composants dans des tâches de vos phases du pipeline Azure.
Connexion : avant de pouvoir déployer votre contenu, vous devez vous connecter à Fabric à l’aide d’un principal de service ou d’un utilisateur. Utilisez la commande Connect-PowerBIServiceAccount pour vous connecter.
Générer le corps de votre demande : dans cette partie du script, vous spécifiez les éléments (tels que les rapports et les tableaux de bord) que vous déployez.
$body = @{ sourceStageOrder = 0 # The order of the source stage. Development (0), Test (1). datasets = @( @{sourceId = "Insert your dataset ID here" } ) reports = @( @{sourceId = "Insert your report ID here" } ) dashboards = @( @{sourceId = "Insert your dashboard ID here" } ) options = @{ # Allows creating new item if needed on the Test stage workspace allowCreateArtifact = $TRUE # Allows overwriting existing item if needed on the Test stage workspace allowOverwriteArtifact = $TRUE } } | ConvertTo-Json
Déployer : ici, vous effectuez le déploiement.
$url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here" $deployResult = Invoke-PowerBIRestMethod -Url $url -Method Post -Body $body | ConvertFrom-Json
(Facultatif) Notification d’achèvement du déploiement : comme l’API de déploiement est asynchrone, vous pouvez programmer le script pour vous avertir quand le déploiement est terminé.
$url = "pipelines/{0}/Operations/{1}" -f "Insert you pipeline ID here",$deployResult.id $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json while($operation.Status -eq "NotStarted" -or $operation.Status -eq "Executing") { # Sleep for 5 seconds Start-Sleep -s 5 $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json }
Observations et limitations
Le déploiement à l’aide d’API est soumis aux mêmes limitations que l’interface utilisateur des pipelines de déploiement.
Un principal de service ne peut pas configurer des informations d’identification OAuth. Après le déploiement de nouveaux éléments, le principal de service signé devient le propriétaire des rapports paginés et des jeux de données déployés. Dans ce cas, une actualisation ne peut pas être effectuée.
Le déploiement de flux de données à l’aide d’un principal de service n’est pas pris en charge.
Le nombre maximal d’éléments pouvant être déployés dans un même déploiement est de 300.