Skapa Python-appar

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

Du kan använda Azure Pipelines för att skapa, testa och distribuera Python-appar och -skript som en del av ditt CI/CD-system.

I den här snabbstarten får du lära dig hur du skapar en pipeline för att skapa och testa en Python-app.

Du behöver inte konfigurera något för Azure Pipelines för att skapa Python-projekt. Python är förinstallerat på Microsoft-värdbaserade byggagenter för Linux, macOS eller Windows. Information om vilka Python-versioner som är förinstallerade finns i Använda en Microsoft-värdbaserad agent.

Förutsättningar

  • Ett GitHub-konto där du kan skapa en lagringsplats. Skapa en kostnadsfritt.
  • En Azure DevOps-organisation. Skapa en kostnadsfritt.
  • Ett Azure DevOps-projekt. Skapa en med hjälp av guiden Skapa Azure DevOps-projekt.
  • En möjlighet att köra pipelines på Microsoft-värdbaserade agenter. Du kan antingen köpa ett parallellt jobb eller begära en kostnadsfri nivå.
  • Ett GitHub-konto där du kan skapa en lagringsplats. Skapa en kostnadsfritt.
  • En Azure DevOps-server.
  • Ett Azure DevOps-projekt. Skapa en med hjälp av guiden Skapa Azure DevOps Server-projekt.
  • En lokalt installerad agent. Information om hur du skapar en finns i Lokalt installerade agenter.
  • Python-versioner installerade på din egen värdbaserade agent. Information om hur du installerar Python på din agent finns i UsePythonVersion.

1. Förgrena exempelkoden

Förgrena Python-exempellagringsplatsen till ditt GitHub-konto.

  1. Gå till lagringsplatsen python-sample-vscode-flask-tutorial .
  2. Välj Förgrening i det övre högra hörnet på sidan.
  3. Välj det GitHub-konto där du vill förgrena lagringsplatsen och ange ett namn för din förgrenade lagringsplats.

2. Skapa din pipeline

  1. Gå till Azure Pipelines och välj Starta kostnadsfritt. Logga in på ditt DevOps-konto om du uppmanas att göra det.

  2. Gå till projektet och välj Pipelines>Skapa pipeline.

  3. Välj GitHub som plats för källkoden.

  4. Om du omdirigeras till GitHub för att logga in anger du dina GitHub-autentiseringsuppgifter.

  5. När listan över lagringsplatser visas väljer du din förgrenade exempellagringsplats.

  6. På fliken Konfigurera pipeline väljer du Startpipeline.

  1. I en webbläsare går du till din DevOps Server-samling.

  2. Gå till projektet och välj Pipelines>Skapa en ny pipeline.

  3. Välj GitHub Enterprise Server som plats för källkoden.

  4. Om du omdirigeras till GitHub för att logga in anger du dina GitHub-autentiseringsuppgifter.

  5. När listan över lagringsplatser visas väljer du din förgrenade exempellagringsplats.

  6. På fliken Konfigurera pipeline väljer du Startpipeline.

3. Anpassa din pipeline

Ersätt det genererade azure-pipelines.yml filinnehållet med följande kod. Den här koden installerar den nödvändiga Python-versionen och beroendena, paketar Python-paketet till en zip-fil som publicerats till din pipeline och 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'

azure-pipelines.yml Anpassa för att matcha projektkonfigurationen.

  1. Ersätt den genererade YAML med följande kod. Den här koden installerar den nödvändiga Python-versionen och beroendena, paketar Python-paketet till en zip-fil som publicerats till din pipeline och kör tester.
  2. Om du har en annan agentpool ändrar du poolparametern name .
  3. Ändra Python-versionen så att den matchar en version som är installerad på din lokalt installerade 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'

4. Kör din pipeline

Spara och kör din pipeline.

  1. Välj Spara och kör.
  2. I dialogrutan Spara och kör väljer du Spara och kör.
  3. På fliken Sammanfattning kan du se status för pipelinekörningen.
  1. Markera Kör.
  2. Versionsnumret visas överst på sidan. Välj versionsnumret för att se information om bygget.

Skärmbild av länken för pipelinebygge.

Skärmbild av slutförda Python-jobb.

Så här visar du din byggartefakt. välj publicerad länk på fliken Sammanfattning .

Skärmbild av länken för publicerade kompileringsartefakter.

sidan Artefakter visas publicerade byggartefakter.

Skärmbild av publicerade byggartefakter.

Om du vill visa testresultaten väljer du fliken Tester .

Skärmbild av pipelinetestresultat.

Fliken Sammanfattning visar status för pipelinekörningen.

Skärmbild av slutfört Python-jobb.

Om du vill visa din byggartefakt väljer du den publicerade länken på fliken Sammanfattning .

Skärmbild av länken för publicerade kompileringsartefakter.

Om du vill visa testresultaten väljer du fliken Tester .

Skärmbild av pipelinetestresultat.

Fliken Sammanfattning visar status för pipelinekörningen.

Skärmbild av slutfört Python-jobb.

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 .

Skärmbild av pipelinetestresultat.

Rensa

När du är klar med den här snabbstarten kan du ta bort projektet som du skapade i Azure DevOps.

  1. Välj kugghjulsikonen Projektinställningar i det nedre vänstra hörnet på sidan.
  2. Längst ned på sidan Projektöversikt väljer du Ta bort.
  3. Ange projektnamnet och välj Ta bort.

Grattis, du har slutfört den här snabbstarten!

Nästa steg