Skapa och publicera en Python-app
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
I den här snabbstarten skapar du en pipeline som skapar och testar en Python-app. Du ser hur du använder Azure Pipelines för att skapa, testa och distribuera Python-appar och -skript som en del av ditt SYSTEM för kontinuerlig integrering och kontinuerlig leverans (CI/CD).
Förutsättningar
- Ett GitHub-konto där du kan skapa en lagringsplats. Skapa ett GitHub-konto kostnadsfritt.
- En Azure DevOps-organisation. Skapa en kostnadsfritt.
- Ett Azure DevOps-projekt. Skapa en med hjälp av guiden Skapa Azure DevOps-projekt.
- Möjligheten att köra pipelines på Microsoft-värdbaserade agenter. Du måste begära kostnadsfri beviljande av parallella jobb eller köpa ett parallellt jobb.
Python är förinstallerat på Microsoft-värdbaserade agenter för Linux, macOS och Windows. Du behöver inte konfigurera något mer för att skapa Python-projekt. Information om vilka Python-versioner som är förinstallerade finns i Använda en Microsoft-värdbaserad agent.
- Ett GitHub-konto där du kan skapa en lagringsplats. Skapa ett GitHub-konto kostnadsfritt.
- En Azure DevOps-organisation. Skapa en kostnadsfritt.
- Ett Azure DevOps-projekt. Skapa en med hjälp av guiden Skapa Azure DevOps-projekt.
- En lokalt installerad agent. Information om hur du skapar en finns i Lokalt installerade agenter.
- Python installerat på din egen värdbaserade agent. Information om hur du installerar Python på din agent finns i UsePythonVersion.
Förgrena exempelkoden
Förgrena Python-exempellagringsplatsen till ditt GitHub-konto.
- Gå till lagringsplatsen python-sample-vscode-flask-tutorial .
- Välj Förgrening i det övre högra hörnet på sidan.
- Välj ditt GitHub-konto. Som standard namnges förgreningen på samma sätt som den överordnade lagringsplatsen, men du kan ge den ett annat namn.
Viktigt!
Under följande procedurer kan du uppmanas att skapa en GitHub-tjänstanslutning eller omdirigeras till GitHub för att logga in, installera Azure Pipelines eller auktorisera Azure Pipelines. Följ anvisningarna på skärmen för att slutföra processen. Mer information finns i Åtkomst till GitHub-lagringsplatser.
Skapa din pipeline
- I ditt Azure DevOps-projekt väljer du Pipelines Create Pipeline (Pipelines>Create Pipeline) och sedan GitHub som plats för källkoden.
- På skärmen Välj en lagringsplats väljer du din förgrenade exempellagringsplats.
- På skärmen Konfigurera pipeline väljer du Startpipeline.
Anpassa din pipeline
På skärmen Granska yaml-pipelinen ersätter du innehållet i den genererade azure-pipelines.yml-filen med följande kod. Koden:
- Installerar nödvändiga Python-versioner och beroenden.
- Paket skapar artefakter till ett ZIP-arkiv.
- Publicerar arkivet till din pipeline.
- Kör tester.
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'
Anpassa azure-pipelines.yml för att matcha projektkonfigurationen.
- Om du har en annan agentpool ändrar du poolparametern
name
. - Om det behövs ändrar du Python-versionen till en version som är installerad på din lokala agent.
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'
Kör din pipeline
Välj Spara och kör och välj sedan Spara och kör sedan igen.
Fliken Sammanfattning visar status för pipelinekörningen.
Om du vill visa din byggartefakt väljer du den publicerade länken på fliken Sammanfattning .
På sidan Artefakter visas publicerade byggartefakter.
På sidan Artefakter visas publicerade byggartefakter.
Om du vill visa testresultaten väljer du fliken Tester .
Markera Kör.
Versionsnumret visas överst på sidan. Välj versionsnumret för att se information om bygget.
Fliken Sammanfattning visar status för pipelinekörningen.
Om du vill ladda ned din byggartefakt väljer du släpplänken från avsnittet Skapa artefakter som publicerats.
Om du vill visa testresultaten väljer du fliken Tester .
Rensa
När du är klar med den här snabbstarten kan du ta bort det Azure DevOps-projekt som du skapade.
- I projektet väljer du kugghjulsikonen Projektinställningar i det nedre vänstra hörnet på sidan.
- Längst ned på sidan Projektöversikt väljer du Ta bort.
- Ange projektnamnet och välj Ta bort.
Grattis, du har skapat och kört en pipeline som har skapat och testat en Python-app. Nu kan du använda Azure Pipelines för att skapa, testa och distribuera Python-appar och -skript som en del av ditt SYSTEM för kontinuerlig integrering och kontinuerlig leverans (CI/CD).