Mettre en place des pipelines CI/CD
TeamsFx vous aide à automatiser votre workflow de développement lors de la création d’une application Microsoft Teams. Les outils et modèles permettant de configurer des pipelines CI/CD sont de créer des modèles de flux de travail et de personnaliser le flux de travail CI/CD avec GitHub, Azure DevOps, Jenkins et d’autres plateformes. Pour provisionner des ressources, vous pouvez créer des principaux de service Azure et utiliser le pipeline d’approvisionnement ou le faire manuellement à l’aide de fichiers bicep. Pour publier l’application Teams, vous pouvez utiliser le pipeline Publier ou le faire manuellement en tirant parti du Portail des développeurs pour Teams.
Outils et modèles
Configurer des pipelines
Vous pouvez configurer des pipelines avec les plateformes suivantes :
- Configurer des flux de travail avec GitHub
- Définissez les pipelines avec Azure DevOps
- Définissez les pipelines avec Jenkins
- Définissez les pipelines pour les autres plateformes
Types de modèles de flux de travail
TeamsFx prend en charge quatre types de modèles de flux de travail :
- CI : aide à l’extraction du code, à la génération et à l’exécution du test.
- CD : Aide à l’extraction du code, à la génération, au test et au déploiement dans le cloud.
- Provisionner : aide à créer ou à mettre à jour des ressources dans les inscriptions d’applications cloud et Teams.
- Publier : aidez à publier l’application Teams sur les locataires.
Préparer les informations d’identification
Deux catégories d’informations d’identification de connexion sont impliquées dans les flux de travail CI/CD :
- Microsoft 365 : les informations d’identification Microsoft 365 sont requises pour exécuter les flux de travail CD des projets basés sur provisionner, publier et SPFx.
- Azure : les informations d’identification Azure sont requises pour exécuter les workflows de provisionnement et de CD des projets hébergés Azure.
Remarque
L’ID d’abonnement Azure doit être défini dans des variables d’environnement ou env/.env.*
des fichiers avant d’exécuter des workflows de provisionnement. Le nom de la variable utilisée est AZURE_SUBSCRIPTION_ID
. En outre, n’oubliez pas de valider et de transmettre des fichiers env/.env.*
dans des référentiels Git ou de définir les variables d’environnement des pipelines, car elles sont ignorées par fichier par .gitignore
défaut.
Nom | Description |
---|---|
AZURE_SERVICE_PRINCIPAL_NAME | Nom du principal de service d’Azure utilisé pour provisionner des ressources. |
AZURE_SERVICE_PRINCIPAL_PASSWORD | Mot de passe du principal de service Azure. |
AZURE_SUBSCRIPTION_ID | Pour identifier l’abonnement dans lequel les ressources doivent être approvisionnées. |
AZURE_TENANT_ID | Pour identifier le locataire dans lequel réside l’abonnement. |
M365_ACCOUNT_NAME | Compte Microsoft 365 pour la création et la publication de l’application Teams. |
M365_ACCOUNT_PASSWORD | Mot de passe du compte Microsoft 365. |
M365_TENANT_ID | Pour identifier le locataire dans lequel l’application Teams est créée ou publiée. Cette valeur est facultative, sauf si vous avez un compte multilocataire et que vous souhaitez utiliser un autre locataire. En savoir plus sur la recherche de votre ID de locataire Microsoft 365. |
Remarque
- Actuellement, un style d’authentification non interactif pour Microsoft 365 est utilisé dans les flux de travail CI/CD. Vérifiez donc que votre compte Microsoft 365 dispose de privilèges suffisants dans votre locataire et n’a pas d’authentification multifacteur ou d’autres fonctionnalités de sécurité avancées activées. Reportez-vous à Configurer les informations d’identification Microsoft 365 pour vous assurer que vous avez désactivé l’authentification multifacteur et les valeurs par défaut de sécurité pour les informations d’identification utilisées dans le flux de travail.
- Actuellement, le principal de service pour Azure est utilisé dans les workflows CI/CD, et pour créer des principaux de service Azure à utiliser, reportez-vous à ici.
Types d’hôtes
Les modèles varient selon les types d’hôtes (Azure ou SPFx) selon lesquels les modèles de workflow d’approvisionnement et de CD sont divisés en copies. Les modèles de flux de travail CI et Publier sont indépendants du type hôte. Si vous travaillez sur des projets hébergés par Azure, téléchargez ces modèles avec le nom de fichier infixes azure
. Si vous travaillez sur des projets hébergés SPFx, téléchargez ces modèles avec le nom de fichier infixes spfx
.
Configurer des flux de travail avec GitHub
Pour configurer des pipelines avec GitHub pour CI/CD :
- Créer des flux de travail CI/CD.
- Personnaliser les flux de travail CI/CD.
Créer des flux de travail CI/CD
- Téléchargez les fichiers de modèle correspondants à partir des outils et modèles.
- Renommez les fichiers de modèle téléchargés en fonction de vos besoins.
- Placez-les sous
.github/workflows
, qui est le dossier désigné pour GitHub Actions. - Commitez et envoyez ces fichiers de modèle dans des référentiels distants.
- Ajoutez les secrets chiffrés nécessaires pour vos workflows.
- Déclenchez vos workflows. Consultez plus d’informations sur le déclenchement d’un workflow sur GitHub.
Personnaliser le flux de travail CI
Pour personnaliser le flux de travail CI, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le workflow CI est déclenché lorsqu’une nouvelle demande de tirage est créée sur
dev
la branche. - Ajouter des scripts pour générer le projet : par défaut, l’étape
Build the project
est commentée. - Ajouter des scripts pour exécuter un test unitaire : par défaut, l’étape
Run unit test
est commentée.
Personnaliser le flux de travail cd
Pour personnaliser le workflow CD, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le workflow CD est déclenché lorsque de nouvelles validations sont envoyées dans
main
la branche. - Modifier la valeur de la variable
TEAMSFX_ENV_NAME
d’environnement : par défaut, la valeur estdev
. - Modifier la valeur de la variable
TEAMSFX_CLI_VERSION
d’environnement : par défaut, la valeur est2.*
. - Ajouter des scripts pour générer le projet : par défaut, l’étape
Build the project
est commentée. - Ajouter des scripts pour exécuter un test unitaire : par défaut, l’étape
Run unit test
est commentée.
Personnaliser le flux de travail d’approvisionnement et de publication
Pour personnaliser le flux de travail Provisionner et publier, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le workflow est déclenché manuellement.
- Modifier la valeur de la variable
TEAMSFX_ENV_NAME
d’environnement : par défaut, la valeur estdev
. - Modifier la valeur de la variable
TEAMSFX_CLI_VERSION
d’environnement : par défaut, la valeur est2.*
.
Configurer des pipelines avec Azure DevOps
Pour configurer des pipelines avec Azure DevOps pour CI/CD :
- Créer des pipelines CI/CD.
- Personnaliser les pipelines CI/CD.
Créer des pipelines CI/CD
- Téléchargez les fichiers de modèle correspondants à partir des outils et modèles.
- Renommez les fichiers de modèle téléchargés en fonction de vos besoins.
- Placez-les sous
.azure/pipelines
, qui est le dossier conventionnel pour Azure Pipelines. - Commitez et envoyez ces fichiers de modèle dans des référentiels distants.
- Créez les pipelines Azure DevOps correspondants en suivant Créer votre premier pipeline Azure DevOps.
- Ajoutez les variables de pipeline Azure DevOps nécessaires pour vos pipelines.
- Déclenchez vos pipelines automatiquement, manuellement ou personnalisez (consultez la
trigger:
section oupr:
dans les fichiers yml pour rechercher les déclencheurs). Pour plus d’informations sur les déclencheurs dans Azure DevOps, consultez Déclencheurs dans azure pipelines.
Personnaliser le pipeline CI
Pour personnaliser le pipeline CI, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le pipeline CI est déclenché lorsqu’une nouvelle demande de tirage est créée sur
dev
la branche. - Ajouter des scripts pour générer le projet : par défaut, l’étape
Build the project
est commentée. - Ajouter des scripts pour exécuter un test unitaire : par défaut, l’étape
Run unit test
est commentée.
Personnaliser le pipeline CD
Pour personnaliser le pipeline CD, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le pipeline CD est déclenché lorsque de nouvelles validations sont envoyées dans
main
la branche. - Modifier la valeur de la variable
TEAMSFX_ENV_NAME
d’environnement : par défaut, la valeur estdev
. - Modifier la valeur de la variable
TEAMSFX_CLI_VERSION
d’environnement : par défaut, la valeur est2.*
. - Ajouter des scripts pour générer le projet : par défaut, l’étape
Build the project
est commentée. - Ajouter des scripts pour exécuter un test unitaire : par défaut, l’étape
Run unit test
est commentée.
Personnaliser les pipelines d’approvisionnement et de publication
Pour personnaliser le pipeline d’approvisionnement et de publication, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le workflow est déclenché manuellement.
- Modifier la valeur de la variable
TEAMSFX_ENV_NAME
d’environnement : par défaut, la valeur estdev
. - Modifier la valeur de la variable
TEAMSFX_CLI_VERSION
d’environnement : par défaut, la valeur est2.*
.
Configurer des pipelines avec Jenkins
Pour configurer des pipelines avec Jenkins pour CI/CD :
- Créer des pipelines CI/CD.
- Personnaliser les pipelines CI/CD.
Créer des pipelines CI/CD
- Téléchargez les fichiers de modèle correspondants à partir des outils et modèles.
- Renommez les fichiers de modèle téléchargés en fonction de vos besoins.
- Placez-les sous
.jenkins/pipelines
, qui peut être un dossier conventionnel pour Jenkins Pipelines.
Personnaliser le pipeline CI
Pour personnaliser le pipeline CI, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le pipeline CI est déclenché régulièrement.
- Ajouter des scripts pour générer le projet : par défaut, l’étape
Build the project
est commentée. - Ajouter des scripts pour exécuter un test unitaire : par défaut, l’étape
Run unit test
est commentée.
Personnaliser le pipeline CD
Pour personnaliser le pipeline CD, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le pipeline CD est déclenché régulièrement.
- Modifier la valeur de la variable
TEAMSFX_ENV_NAME
d’environnement : par défaut, la valeur estdev
. - Modifier la valeur de la variable
TEAMSFX_CLI_VERSION
d’environnement : par défaut, la valeur est2.*
. - Ajouter des scripts pour générer le projet : par défaut, l’étape
Build the project
est commentée. - Ajouter des scripts pour exécuter un test unitaire : par défaut, l’étape
Run unit test
est commentée.
Personnaliser les pipelines d’approvisionnement et de publication
Pour personnaliser le pipeline d’approvisionnement et de publication, vous pouvez effectuer les opérations suivantes :
- Modifier le déclencheur : par défaut, le pipeline est déclenché régulièrement.
- Modifier la valeur de la variable
TEAMSFX_ENV_NAME
d’environnement : par défaut, la valeur estdev
. - Modifier la valeur de la variable
TEAMSFX_CLI_VERSION
d’environnement : par défaut, la valeur est2.*
.
Configurer des pipelines pour d’autres plateformes
Vous pouvez suivre les exemples prédéfinis de scripts bash répertoriés à partir d’Outils et de modèles pour créer et personnaliser des pipelines CI/CD sur les autres plateformes :
Les scripts sont basés sur un outil de ligne de commande TeamsFx multiplateforme, TeamsFx-CLI. Vous pouvez l'installer avec npm install -g @microsoft/teamsfx-cli
et suivre la documentation pour personnaliser les scripts.
Remarque
- Pour activer
@microsoft/teamsfx-cli
s’exécutant en mode CI, activezCI_ENABLED
enexport CI_ENABLED=true
. En mode CI,@microsoft/teamsfx-cli
est convivial pour CI/CD. - Pour activer
@microsoft/teamsfx-cli
s’exécutant en mode non interactif, définissez une configuration globale avec la commande :teamsfx config set -g interactive false
. En mode non interactif,@microsoft/teamsfx-cli
n’invite pas à entrer des entrées.
Veillez à configurer azure et Microsoft 365 les informations d’identification dans vos variables d’environnement en toute sécurité. Par exemple, si vous utilisez GitHub comme référentiel de code source, consultez GitHub Secrets.
Comment créer des principaux de service Azure à utiliser ?
Pour provisionner et déployer des ressources ciblant Azure dans CI/CD, vous devez créer un principal de service Azure à utiliser.
Procédez comme suit pour créer des principaux de service Azure :
- Inscrire une application Microsoft Entra dans un seul locataire.
- Attribuez un rôle à votre application Microsoft Entra pour accéder à votre abonnement Azure. Le rôle
Contributor
est recommandé. - Créez un secret d’application Microsoft Entra.
Conseil
Enregistrez votre ID de locataire, l’ID d’application (AZURE_SERVICE_PRINCIPAL_NAME) et le secret (AZURE_SERVICE_PRINCIPAL_PASSWORD) pour une utilisation ultérieure.
Pour plus d’informations, consultez Instructions relatives aux principaux de service Azure. Les trois méthodes suivantes permettent de créer des principaux de service :
Publier une application Teams à l’aide de Teams Developer Portal
Si des modifications sont apportées au fichier manifeste de l’application Teams, vous pouvez mettre à jour le manifeste et publier à nouveau l’application Teams. Pour publier l’application Teams manuellement, vous pouvez utiliser le Portail des développeurs pour Teams.
Procédez comme suit pour publier votre application :
- Connectez-vous au portail Developer pour Teams en utilisant le compte correspondant.
- Importez votre package d’application en zip, sélectionnez App>Import app>Replace.
- Sélectionnez l’application cible dans la liste des applications.
- Pour publier votre application, sélectionnez Publier Publier>dans votre organisation.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour