Générer et publier une application Python
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
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
- Un compte GitHub dans lequel vous pouvez créer un référentiel. Créez gratuitement un compte GitHub.
- Une organisation Azure DevOps. Créez-en un gratuitement.
- Un projet Azure DevOps. Créez-en un à l’aide de l’Assistant Création de projet Azure DevOps.
- Possibilité d’exécuter des pipelines sur des agents hébergés par Microsoft. Vous devez demander l’octroi gratuit de travaux parallèles ou acheter un travail parallèle.
Python est préinstallé sur les agents hébergés par Microsoft pour Linux, macOS et Windows. Vous n’avez pas besoin de configurer plus pour générer des projets Python. Pour savoir quelles versions de Python sont préinstallées, consultez Utiliser un agent hébergé par Microsoft.
- Un compte GitHub dans lequel vous pouvez créer un référentiel. Créez gratuitement un compte GitHub.
- Une organisation Azure DevOps. Créez-en un gratuitement.
- Un projet Azure DevOps. Créez-en un à l’aide de l’Assistant Création de projet Azure DevOps.
- Un agent auto-hébergé. Pour en créer un, consultez les agents auto-hébergés.
- Python installé sur votre agent auto-hébergé. Pour installer Python sur votre agent, consultez UsePythonVersion.
Duplication de l’exemple de code
Dupliquez le référentiel d’exemple Python sur votre compte GitHub.
- Rendez-vous dans le référentiel python-sample-vscode-flask-tutorial.
- Sélectionnez Dupliquer (Fork) dans le coin supérieur droit de la page.
- Sélectionner votre compte GitHub. Par défaut, le fork est nommé le même que le référentiel parent, mais vous pouvez le nommer différemment.
Important
Pendant les procédures suivantes, vous pouvez être invité à créer une connexion de service GitHub ou à vous rediriger vers GitHub pour vous connecter, installer Azure Pipelines ou autoriser Azure Pipelines. Suivez les instructions à l’écran pour compléter le processus. Pour plus d’informations, veuillez consulter la section Accès aux référentiels GitHub.
Créer votre pipeline
- Dans votre projet Azure DevOps, sélectionnez Pipelines>Créer un pipeline, puis gitHub comme emplacement de votre code source.
- Dans l’écran Sélectionner un référentiel , sélectionnez votre exemple de référentiel forked.
- Dans l’écran Configurer votre pipeline, sélectionnez Pipeline de démarrage.
Personnaliser votre pipeline
Dans l’écran Vérifier votre yaML de pipeline, remplacez le contenu du fichier azure-pipelines.yml généré par le code suivant. Le code :
- Installe les versions et dépendances de Python requises.
- Les packages créent des artefacts dans une archive ZIP.
- Publie l’archive dans 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'
Personnalisez azure-pipelines.yml pour correspondre à la configuration de votre projet.
- Si vous utilisez un pool d’agents différent, modifiez le paramètre de pool
name
. - Si nécessaire, remplacez la version de Python par 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 .
L’onglet Résumé montre l’état de l’exécution de votre pipeline.
Pour voir votre artefact de build, sélectionnez le lien publié dans l’onglet Résumé.
La page Artefacts montre les artefacts de build publiés.
La page Artefacts montre les artefacts de build publiés.
Pour voir les résultats des tests, sélectionnez l’onglet Tests.
Sélectionnez Exécuter.
Le numéro de build est affiché en haut de la page. Sélectionnez-le pour voir les détails de la build.
L’onglet Résumé montre l’état de l’exécution de votre pipeline.
Pour télécharger votre artefact de build, sélectionnez le lien drop dans la section Artefacts de build publiés.
Pour voir les résultats des tests, sélectionnez l’onglet Tests.
Nettoyage
Lorsque vous avez terminé ce guide de démarrage rapide, vous pouvez supprimer le projet Azure DevOps que vous avez créé.
- Dans votre projet, sélectionnez l’icône d’engrenage des paramètres du projet dans le coin inférieur gauche de la page.
- En bas de la page Vue d’ensemble du projet, sélectionnez Supprimer.
- Saisissez le nom du projet et sélectionnez Supprimer.
Félicitations, vous avez créé et exécuté un pipeline qui a généré et testé une application Python. Vous pouvez maintenant 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).