Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Dans ce guide de démarrage rapide, vous créez un pipeline qui génère et teste une application Python. Vous voyez comment utiliser Azure Pipelines pour générer, tester et déployer des applications et des scripts Python dans le cadre de votre système d’intégration continue et de livraison continue (CI/CD).
Prérequis
Python est préinstallé sur les agents hébergés par Microsoft pour Linux, macOS et Windows. Vous n'avez pas besoin de faire de configuration supplémentaire pour créer des projets Python. Pour voir quelles versions python sont préinstallées, consultez Software.
| Produit | Exigences |
|---|---|
| Azure DevOps | - Un projet Azure DevOps . - Possibilité d’exécuter des pipelines sur des agents hébergés par Microsoft. Vous pouvez acheter un travail parallèle ou demander un niveau gratuit. - Connaissance de base de YAML et d’Azure Pipelines. Pour plus d’informations, consultez Créer votre premier pipeline. - Autorisations: - Pour créer un pipeline : vous devez être dans le groupe Contributeurs et qu'il ait l'autorisation Créer un pipeline de build définie sur Autoriser. Les membres du groupe Administrateurs de projet peuvent gérer les pipelines. - Pour créer des connexions de service : vous devez avoir le rôle Administrateur ou Créateur pour les connexions de service. |
| Lien avec GitHub | - Un compte GitHub . - Connexion de service GitHub pour autoriser Azure Pipelines. |
| Produit | Exigences |
|---|---|
| Azure DevOps | - Un projet Azure DevOps . - Un agent auto-hébergé avec Python 3.12 ou une autre version de Python installée. Pour en créer un, consultez les agents auto-hébergés. - Connaissance de base de YAML et d’Azure Pipelines. Pour plus d’informations, consultez Créer votre premier pipeline. - Autorisations: - Pour créer un pipeline : vous devez être dans le groupe Contributeurs et qu'il ait l'autorisation Créer un pipeline de build définie sur Autoriser. Les membres du groupe Administrateurs de projet peuvent gérer les pipelines. - Pour créer des connexions de service : vous devez avoir le rôle Administrateur ou Créateur pour les connexions de service. |
| Lien avec GitHub | - Un compte GitHub . - Connexion de service GitHub pour autoriser Azure Pipelines. |
Importante
Les procédures GitHub peuvent vous obliger à effectuer une ou plusieurs des actions suivantes dans GitHub :
- Connectez-vous.
- Autoriser Azure Pipelines.
- Authentifiez-vous auprès des organisations GitHub.
- Installez l’application Azure Pipelines.
Suivez les instructions pour terminer les processus requis. Pour plus d’informations, consultez Accès aux référentiels GitHub.
Préparez l’exemple de code
Dupliquez le référentiel d’exemple Python sur votre compte GitHub.
- Accédez au référentiel python-sample-vscode-flask-tutorial .
- Sélectionnez Fork en haut à droite.
- Vérifiez que le nom de votre compte GitHub est sélectionné sous Propriétaire, puis sélectionnez Créer un fork. Le fork est nommé le même que le référentiel parent par défaut, mais vous pouvez le nommer différemment.
Créer votre pipeline
- Dans votre projet Azure DevOps, sélectionnez Pipelines dans le menu de navigation de gauche, puis sélectionnez Nouveau pipeline, ou Créez un pipeline si ce pipeline est le premier dans le projet.
- Dans l’écran Où se trouve votre code , sélectionnez GitHub comme emplacement de votre code source.
- Dans l’écran Sélectionner un référentiel , sélectionnez votre exemple de référentiel Python fourche.
- Dans l’écran Configurer votre pipeline , sélectionnez Pipeline de démarrage.
Personnaliser votre pipeline
Dans l’écran Revoyez votre YAML de pipeline, remplacez le contenu du fichier azure-pipelines.yml généré par le code suivant. Le code effectue les actions suivantes sur trois versions différentes de Python :
- Installe la version et les dépendances de Python requises.
- Les packages créent des artefacts dans une archive ZIP.
- Publie l’archive vers votre pipeline.
- Exécute les tests.
trigger:
- main
pool:
vmImage: ubuntu-latest
strategy:
matrix:
Python310:
python.version: '3.10'
Python311:
python.version: '3.11'
Python312:
python.version: '3.12'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: $(System.DefaultWorkingDirectory)
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId)-$(python.version).zip
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
Dans l’écran Revoyez votre YAML de pipeline, remplacez le contenu du fichier azure-pipelines.yml généré par le code suivant. Le code effectue les actions suivantes :
- Installe la version et les dépendances de Python requises.
- Les packages créent des artefacts dans une archive ZIP.
- Publie l’archive vers votre pipeline.
- Exécute les tests.
Personnalisez azure-pipelines.yml pour correspondre à la configuration de votre projet.
- Si vous avez un autre pool d’agents, remplacez l’espace réservé du pool
namepar le nom de votre pool oudefault. - Si nécessaire, remplacez Python
versionSpecpar une version installée sur votre agent auto-hébergé.
trigger:
- main
pool:
name: '<your-pool-name or default>'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
displayName: 'Use Python 3.12'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: $(System.DefaultWorkingDirectory)
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
Exécuter votre pipeline
Sélectionnez Enregistrer et exécuter, puis sélectionnez Enregistrer et réexécuter . Vous pouvez sélectionner Travail dans l’écran Résumé pour afficher votre travail en action.
Le travail s’exécute trois fois, une fois pour chaque version de Python spécifiée. Les trois versions peuvent s’exécuter en parallèle sur différents agents.
Afficher les artefacts et les résultats des tests
Pour afficher vos artefacts de build, sélectionnez le lien [N] publié sous l’onglet Résumé .
La page Artefacts affiche les artefacts de build publiés.
Pour afficher les résultats des tests, sélectionnez l’onglet Tests .
Nettoyage
Si vous avez terminé d’utiliser le pipeline que vous avez créé, vous pouvez le supprimer.
Sélectionnez Pipelines dans le menu de navigation gauche de votre projet.
Dans la liste des pipelines, pointez sur le pipeline que vous avez créé, sélectionnez l’icône Autres actions à droite, puis sélectionnez Supprimer.
Ou sélectionnez le pipeline, puis, dans la page du pipeline, sélectionnez l’icône Autres actions en haut à droite, puis sélectionnez Supprimer.
Entrez le nom du pipeline, puis sélectionnez Supprimer à nouveau.
Vous avez créé et exécuté un pipeline qui a généré et testé une application Python. Vous pouvez désormais utiliser Azure Pipelines pour générer, tester et déployer des applications et des scripts Python dans le cadre de votre processus CI/CD.