Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
In dieser Schnellstartanleitung erstellen Sie eine Pipeline, die eine Python-App erstellt und testet. Sie erfahren, wie Sie Mithilfe von Azure Pipelines Python-Apps und -Skripts als Teil Ihres kontinuierlichen Integrations- und Continuous Delivery-Systems (CI/CD) erstellen, testen und bereitstellen.
Voraussetzungen
Python ist auf von Microsoft gehosteten Agents für Linux, macOS und Windows vorinstalliert. Sie müssen nichts mehr einrichten, um Python-Projekte zu erstellen. Informationen dazu, welche Python-Versionen vorinstalliert sind, finden Sie unter Software.
| Produkt | Anforderungen |
|---|---|
| Azure DevOps | – Ein Azure DevOps-Projekt. – Eine Möglichkeit zum Ausführen von Pipelines auf von Microsoft gehosteten Agenten. Sie können entweder einen Parallelauftrag erwerben oder einen Free-Tarif anfordern. - Grundkenntnisse in YAML und Azure Pipelines. Weitere Informationen finden Sie unter Erstellen Ihrer ersten Pipeline. - Erlaubnisse: – Wenn Sie eine Pipeline erstellen wollen, müssen Sie Mitglied der Gruppe Mitwirkende sein, und für die Gruppe muss die Berechtigung Buildpipeline erstellen auf „Zulassen“ festgelegt sein. Mitglieder der Gruppe "Projektadministratoren " können Pipelines verwalten. – Um Dienstverbindungen zu erstellen: Sie müssen über die Rolle "Administrator " oder " Ersteller " für Dienstverbindungen verfügen. |
| GitHub (Englisch) | - Ein GitHub-Konto . – Eine GitHub-Dienstverbindung zum Autorisieren von Azure Pipelines. |
| Produkt | Anforderungen |
|---|---|
| Azure DevOps | – Ein Azure DevOps-Projekt. – Ein selbst gehosteter Agent, auf dem Python 3.12 oder eine andere Python-Version installiert ist. Um einen zu erstellen, lesen Sie Selbst gehostete Agenten. - Grundkenntnisse in YAML und Azure Pipelines. Weitere Informationen finden Sie unter Erstellen Ihrer ersten Pipeline. - Erlaubnisse: – Wenn Sie eine Pipeline erstellen wollen, müssen Sie Mitglied der Gruppe Mitwirkende sein, und für die Gruppe muss die Berechtigung Buildpipeline erstellen auf „Zulassen“ festgelegt sein. Mitglieder der Gruppe "Projektadministratoren " können Pipelines verwalten. – Um Dienstverbindungen zu erstellen: Sie müssen über die Rolle "Administrator " oder " Ersteller " für Dienstverbindungen verfügen. |
| GitHub (Englisch) | - Ein GitHub-Konto . – Eine GitHub-Dienstverbindung zum Autorisieren von Azure Pipelines. |
Wichtig
GitHub-Verfahren erfordern möglicherweise, dass Sie eine oder mehrere der folgenden Aktionen in GitHub ausführen:
- Melden Sie sich an.
- Autorisieren von Azure-Pipelines.
- Authentifizieren sie sich bei GitHub-Organisationen.
- Installieren Sie die Azure Pipelines-App.
Folgen Sie den Anweisungen, um die erforderlichen Prozesse abzuschließen. Weitere Informationen finden Sie unter Access to GitHub Repositorys.
Forken des Beispielcodes
Forken Sie das Python-Beispiel-Repository in Ihr GitHub-Konto.
- Wechseln Sie zum Python-sample-vscode-flask-tutorial Repository .
- Wählen Sie oben rechts Fork aus.
- Stellen Sie sicher, dass der Name Ihres GitHub-Kontos unter "Besitzer" ausgewählt ist, und wählen Sie "Verzweigung erstellen" aus. Ein Fork hat standardmäßig den gleichen Namen wie das übergeordnete Repository, aber Sie können ihm einen anderen Namen geben.
Erstellen Ihrer Pipeline
- Wählen Sie in Ihrem Azure DevOps-Projekt "Pipelines" im linken Navigationsmenü und dann " Neue Pipeline" oder " Pipeline erstellen" aus, wenn diese Pipeline der erste im Projekt ist.
- Wählen Sie auf dem Codebildschirm "Wo ist Ihr Code " GitHub als Speicherort des Quellcodes aus.
- Wählen Sie auf der Anzeige Repository auswählen Ihr geforktes Python-Beispiel-Repository aus.
- Wählen Sie auf dem Bildschirm "Pipeline konfigurieren" die Option "Startpipeline" aus.
Passen Sie Ihre Pipeline an
Ersetzen Sie in der Ansicht Überprüfen der Pipeline-YAML den Inhalt der generierten azure-pipelines.yml-Datei durch den folgenden Code. Der Code führt die folgenden Aktionen für drei verschiedene Versionen von Python aus:
- Installiert erforderliche Python-Version und Abhängigkeiten.
- Pakete erstellen Artefakte in ein ZIP-Archiv.
- Veröffentlicht das Archiv in Ihrer Pipeline.
- 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'
Ersetzen Sie in der Ansicht Überprüfen der Pipeline-YAML den Inhalt der generierten azure-pipelines.yml-Datei durch den folgenden Code. Der Code führt die folgenden Aktionen aus:
- Installiert erforderliche Python-Version und Abhängigkeiten.
- Pakete erstellen Artefakte in ein ZIP-Archiv.
- Veröffentlicht das Archiv in Ihrer Pipeline.
- Führt Tests aus.
Passen Sie azure-pipelines.yml an Ihre Projektkonfiguration an.
- Wenn Sie über einen anderen Agentpool verfügen, ersetzen Sie den Poolplatzhalter
namedurch ihren Poolnamen oderdefault. - Ändern Sie bei Bedarf die Python
versionSpecin eine Version, die auf Ihrem selbst gehosteten Agent 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'
Ausführen Ihrer Pipeline
Wählen Sie "Speichern und ausführen" aus und wählen Sie dann erneut "Speichern und ausführen" aus. Sie können " Auftrag" auf dem Zusammenfassungsbildschirm auswählen, um Ihren Auftrag in Aktion anzuzeigen.
Der Auftrag wird dreimal ausgeführt, einmal für jede angegebene Python-Version. Die drei Versionen können parallel auf verschiedenen Agents ausgeführt werden.
Anzeigen von Artefakten und Testergebnissen
Um Ihre Build-Artefakte anzuzeigen, wählen Sie den Link [N] veröffentlicht auf der Registerkarte Zusammenfassung aus.
Auf der Seite "Artefakte" werden die veröffentlichten Buildartefakte angezeigt.
Um die Testergebnisse anzuzeigen, wählen Sie die Registerkarte "Tests " aus.
Bereinigung
Wenn Sie mit der von Ihnen erstellten Pipeline fertig sind, können Sie sie löschen.
Wählen Sie "Pipelines" im linken Navigationsmenü Ihres Projekts aus.
Zeigen Sie in der Pipelineliste auf die von Ihnen erstellte Pipeline, wählen Sie das Symbol "Weitere Aktionen " rechts aus, und wählen Sie dann "Löschen" aus.
Oder wählen Sie die Pipeline aus, gehen Sie auf der Pipelineseite oben rechts zum Symbol "Weitere Aktionen" und wählen Sie dann "Löschen" aus.
Geben Sie den Pipelinenamen ein, und wählen Sie dann erneut "Löschen" aus.
Sie haben erfolgreich eine Pipeline erstellt und ausgeführt, die eine Python-App erstellt und getestet hat. Sie können jetzt Azure Pipelines verwenden, um Python-Apps und -Skripts als Teil Ihres CI/CD-Prozesses zu erstellen, zu testen und bereitzustellen.