Erstellen von Python-Apps

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Sie können Azure Pipelines verwenden, um Python-Apps und -Skripts als Teil Ihres CI/CD-Systems zu erstellen, zu testen und bereitzustellen.

In diesem Schnelleinstieg lernen Sie, wie Sie eine Pipeline erstellen, um eine Python-App zu erstellen und zu testen.

Sie müssen nichts für Azure Pipelines einrichten, um Python-Projekte erstellen zu können. Python ist auf von Microsoft gehosteten Build-Agents für Linux, macOS oder Windows vorinstalliert. Informationen dazu, welche Python-Versionen vorinstalliert sind, finden Sie unter Verwenden eines von Microsoft gehosteten Agents.

Voraussetzungen

1. Forken des Beispiel-Codes

Forken Sie das Python-Beispiel-Repository in Ihr GitHub-Konto.

  1. Gehen Sie zum Repository python-sample-vscode-flask-tutorial.
  2. Wählen Sie Fork in der oberen rechten Ecke der Seite.
  3. Wählen Sie das GitHub-Konto aus, in dem Sie das Repository forken möchten, und geben Sie einen Namen für Ihr geforktes Repository ein.

2. Erstellen Ihrer Pipeline

  1. Gehen Sie zu Azure Pipelines, und wählen Sie Kostenlos starten. Falls Sie dazu aufgefordert werden, melden Sie sich bei Ihrem DevOps-Konto an.

  2. Gehen Sie zu Ihrem Projekt, und wählen Sie Pipelines>Pipeline erstellen.

  3. Wählen Sie GitHub als Speicherort für Ihren Quellcode aus.

  4. Wenn Sie zu GitHub umgeleitet werden, um sich anzumelden, geben Sie Ihre GitHub-Anmeldeinformationen ein.

  5. Wenn die Liste der Repositories erscheint, wählen Sie Ihr geforktes Beispiel-Repository aus.

  6. Auf der Registerkarte Konfigurieren Ihrer Pipeline wählen Sie Starter-Pipeline.

  1. Gehen Sie in einem Browser zu Ihrer DevOps-Server-Sammlung.

  2. Wechseln Sie zu Ihrem Projekt, und wählen Sie Pipelines>Neue Pipeline erstellen aus.

  3. Wählen Sie GitHub Enterprise Server als Speicherort für Ihren Quellcode.

  4. Wenn Sie zu GitHub umgeleitet werden, um sich anzumelden, geben Sie Ihre GitHub-Anmeldeinformationen ein.

  5. Wenn die Liste der Repositories erscheint, wählen Sie Ihr geforktes Beispiel-Repository aus.

  6. Auf der Registerkarte Konfigurieren Ihrer Pipeline wählen Sie Starter-Pipeline.

3. Anpassen Ihrer Pipeline

Ersetzen Sie den Inhalt der generierten Datei azure-pipelines.yml durch den folgenden Code. Dieser Code installiert die erforderliche Python-Version und die Abhängigkeiten, packt das Python-Paket in eine ZIP-Datei, die in Ihrer Pipeline veröffentlicht wird, und führt Tests aus.

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'

Passen Sie die azure-pipelines.yml an die Konfiguration Ihres Projekts an.

  1. Ersetzen Sie das generierte YAML durch den folgenden Code. Dieser Code installiert die erforderliche Python-Version und die Abhängigkeiten, packt das Python-Paket in eine ZIP-Datei, die in Ihrer Pipeline veröffentlicht wird, und führt Tests aus.
  2. Wenn Sie einen anderen Agenten-Pool haben, ändern Sie den name-Parameter des Pools.
  3. Ändern Sie die Python-Version so, dass sie der Version entspricht, die auf Ihrem selbst gehosteten Agenten installiert ist.
  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'

4. Ausführen Ihrer Pipeline

Speichern Sie die Pipeline, und führen Sie sie aus.

  1. Klicken Sie auf Speichern und ausführen.
  2. Wählen Sie im Dialog Speichern und Ausführen die Option Speichern und Ausführen.
  3. Auf der Registerkarte Zusammenfassung können Sie den Status der Ausführung Ihrer Pipeline sehen.
  1. Klicken Sie auf Run (Ausführen).
  2. Die Build-Nummer wird oben auf der Seite angezeigt. Wählen Sie die Build-Nummer aus, um die Details des Builds zu sehen.

Screenshot des Build-Links der Pipeline.

Screenshot der abgeschlossenen Python-Jobs.

Um Ihr Build-Artefakt zu sehen, wählen Sie den Veröffentlicht-Link auf der Registerkarte Zusammenfassung.

Screenshot des Links für veröffentlichte Build-Artefakte.

Die Seite Artefakte zeigt die veröffentlichten Build-Artefakte an.

Screenshot der veröffentlichten Build-Artefakte.

Um die Testergebnisse anzuzeigen, wählen Sie die Registerkarte Tests.

Screenshot der Testergebnisse der Pipeline.

Die Registerkarte Zusammenfassung zeigt den Status der Ausführung Ihrer Pipeline an.

Screenshot des abgeschlossenen Python-Jobs.

Um Ihr Artefakt anzuzeigen, wählen Sie den Link Veröffentlicht auf der Registerkarte Zusammenfassung.

Screenshot des Links für veröffentlichte Build-Artefakte.

Um die Testergebnisse anzuzeigen, wählen Sie die Registerkarte Tests.

Screenshot der Testergebnisse der Pipeline.

Die Registerkarte Zusammenfassung zeigt den Status der Ausführung Ihrer Pipeline an.

Screenshot des abgeschlossenen Python-Jobs.

Um Ihr Artefakt herunterzuladen, wählen Sie den Link Drop im Bereich Veröffentlichte Build-Artefakte.

Um die Testergebnisse anzuzeigen, wählen Sie die Registerkarte Tests.

Screenshot der Testergebnisse der Pipeline.

Bereinigung

Wenn Sie mit diesem Schnellstart fertig sind, können Sie das Projekt, das Sie in Azure DevOps erstellt haben, löschen.

  1. Wählen Sie das Symbol Projekteinstellungen in der unteren linken Ecke der Seite.
  2. Wählen Sie unten auf der Seite Projektübersicht die Option Löschen.
  3. Geben Sie den Projektnamen ein, und wählen Sie Löschen.

Herzlichen Glückwunsch, Sie haben diesen Schnellstart erfolgreich abgeschlossen!

Nächste Schritte