Partager via


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

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.
Azur Un abonnement Azure.
Produit Exigences
Azure DevOps - Un projet Azure DevOps .
- Un agent auto-hébergé. 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.
Azur Un abonnement Azure.

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 Utiliser un agent hébergé par Microsoft.

Préparez l’exemple de code

Dupliquez le référentiel d’exemple Python sur votre compte GitHub.

  1. Accédez au référentiel python-sample-vscode-flask-tutorial .
  2. Sélectionnez Fork dans le coin supérieur droit de la page.
  3. 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.

Importante

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, consultez Accès aux référentiels GitHub.

Créer votre pipeline

  1. Dans votre projet Azure DevOps, sélectionnez Pipelines>Créer un pipeline, puis gitHub comme emplacement de votre code source.
  2. Dans l'écran Sélectionner un référentiel, sélectionnez le référentiel d'exemple que vous avez dupliqué.
  3. 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 :

  • Installe les versions et 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'

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é affiche l’état de votre exécution de pipeline.

Pour afficher votre artefact de build, sélectionnez le lien publié sous l’onglet Résumé .

Capture d’écran du lien des artefacts de build publiés.

La page Artefacts affiche les artefacts de build publiés. Capture d’écran des artefacts de build publiés.

Capture d’écran du travail Python terminé.

La page Artefacts affiche les artefacts de build publiés. Capture d’écran du lien des artefacts de build publiés.

Pour afficher les résultats des tests, sélectionnez l’onglet Tests .

Capture d’écran des résultats des tests de pipeline.

Nettoyage

Lorsque vous avez terminé ce guide de démarrage rapide, vous pouvez supprimer le projet Azure DevOps que vous avez créé.

  1. Dans votre projet, sélectionnez l'icône des paramètres du projet en forme d'engrenage dans le coin inférieur gauche de la page.
  2. En bas de la page vue d’ensemble du projet , sélectionnez Supprimer.
  3. Entrez le nom du projet, puis 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).

Étapes suivantes