Python-apps bouwen

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

U kunt Azure Pipelines gebruiken om Python-apps en -scripts te bouwen, testen en implementeren als onderdeel van uw CI/CD-systeem.

In deze quickstart leert u hoe u een pijplijn maakt om een Python-app te bouwen en te testen.

U hoeft niets in te stellen voor Azure Pipelines om Python-projecten te bouwen. Python is vooraf geïnstalleerd op door Microsoft gehoste buildagents voor Linux, macOS of Windows. Zie Een door Microsoft gehoste agent gebruiken om te zien welke Python-versies vooraf zijn geïnstalleerd.

Vereisten

  • Een GitHub-account waar u een opslagplaats kunt maken. Maak gratis een account.
  • een Azure DevOps-organisatie. Maak gratis een account.
  • Een Azure DevOps-project. Maak er een met behulp van de wizard Azure DevOps-project maken.
  • Een mogelijkheid om pijplijnen uit te voeren op door Microsoft gehoste agents. U kunt een parallelle taak aanschaffen of u kunt een gratis laag aanvragen.
  • Een GitHub-account waar u een opslagplaats kunt maken. Maak gratis een account.
  • Een Azure DevOps-server.
  • Een Azure DevOps-project. Maak er een met behulp van de wizard Azure DevOps Server-project maken.
  • Een zelf-hostende agent. Zie Zelf-hostende agents om er een te maken.
  • Python-versies die zijn geïnstalleerd op uw zelf-hostende agent. Zie UsePythonVersion voor meer informatie over het installeren van Python op uw agent.

1. De voorbeeldcode forken

Fork de Python-voorbeeldopslagplaats naar uw GitHub-account.

  1. Ga naar de opslagplaats python-sample-vscode-flask-tutorial .
  2. Selecteer Fork in de rechterbovenhoek van de pagina.
  3. Selecteer het GitHub-account waar u de opslagplaats wilt splitsen en voer een naam in voor uw geforkte opslagplaats.

2. Uw pijplijn maken

  1. Ga naar Azure Pipelines en selecteer Gratis starten. Meld u aan bij uw DevOps-account als u hierom wordt gevraagd.

  2. Ga naar uw project en selecteer Pijplijnen> maken.

  3. Selecteer GitHub als de locatie van uw broncode.

  4. Als u wordt omgeleid naar GitHub om u aan te melden, voert u uw GitHub-referenties in.

  5. Wanneer de lijst met opslagplaatsen wordt weergegeven, selecteert u de geforkte voorbeeldopslagplaats.

  6. Selecteer Starter-pijplijn op het tabblad Uw pijplijn configureren.

  1. Ga in een browser naar uw DevOps Server-verzameling.

  2. Ga naar uw project en selecteer Pijplijnen>een nieuwe pijplijn maken.

  3. Selecteer GitHub Enterprise Server als de locatie van uw broncode.

  4. Als u wordt omgeleid naar GitHub om u aan te melden, voert u uw GitHub-referenties in.

  5. Wanneer de lijst met opslagplaatsen wordt weergegeven, selecteert u de geforkte voorbeeldopslagplaats.

  6. Selecteer Starter-pijplijn op het tabblad Uw pijplijn configureren.

3. Uw pijplijn aanpassen

Vervang de gegenereerde azure-pipelines.yml bestandsinhoud door de volgende code. Met deze code worden de vereiste Python-versie en de afhankelijkheden geïnstalleerd, wordt het Python-pakket verpakt in een zip-bestand dat naar uw pijplijn is gepubliceerd en worden tests uitgevoerd.

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'

Pas de configuratie aan zodat deze azure-pipelines.yml overeenkomt met uw projectconfiguratie.

  1. Vervang de gegenereerde YAML door de volgende code. Met deze code worden de vereiste Python-versie en de afhankelijkheden geïnstalleerd, wordt het Python-pakket verpakt in een zip-bestand dat naar uw pijplijn is gepubliceerd en worden tests uitgevoerd.
  2. Als u een andere agentgroep hebt, wijzigt u de poolparameter name .
  3. Wijzig de Python-versie zodat deze overeenkomt met een versie die is geïnstalleerd op uw zelf-hostende 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. Uw pijplijn uitvoeren

Sla uw pijplijn op en voer deze uit.

  1. Selecteer Opslaan en uitvoeren.
  2. Selecteer Opslaan en uitvoeren in het dialoogvenster Opslaan en uitvoeren.
  3. Op het tabblad Samenvatting ziet u de status van de pijplijnuitvoering.
  1. Selecteer Uitvoeren.
  2. Het buildnummer wordt boven aan de pagina weergegeven. Selecteer het buildnummer om de details van de build te bekijken.

Schermopname van de koppeling voor het bouwen van pijplijnen.

Schermopname van voltooide Python-taken.

Uw buildartefact weergeven. selecteer gepubliceerde koppeling op het tabblad Samenvatting .

Schermopname van de koppeling gepubliceerde buildartefacten.

Op de pagina Artefacten worden de gepubliceerde buildartefacten weergegeven.

Schermopname van gepubliceerde buildartefacten.

Selecteer het tabblad Tests om de testresultaten weer te geven.

Schermopname van de resultaten van de pijplijntest.

Op het tabblad Samenvatting ziet u de status van de pijplijnuitvoering.

Schermopname van de voltooide Python-taak.

Als u uw buildartefact wilt weergeven, selecteert u de gepubliceerde koppeling op het tabblad Samenvatting .

Schermopname van de koppeling gepubliceerde buildartefacten.

Selecteer het tabblad Tests om de testresultaten weer te geven.

Schermopname van de resultaten van de pijplijntest.

Op het tabblad Samenvatting ziet u de status van de pijplijnuitvoering.

Schermopname van de voltooide Python-taak.

Als u uw build-artefact wilt downloaden, selecteert u de drop link in de sectie Build-artefacten die zijn gepubliceerd .

Selecteer het tabblad Tests om de testresultaten weer te geven.

Schermopname van de resultaten van de pijplijntest.

Opschonen

Wanneer u klaar bent met deze quickstart, kunt u het project verwijderen dat u in Azure DevOps hebt gemaakt.

  1. Selecteer het tandwielpictogram projectinstellingen in de linkerbenedenhoek van de pagina.
  2. Selecteer Verwijderen onder aan de overzichtspagina van Project.
  3. Voer de projectnaam in en selecteer Verwijderen.

Gefeliciteerd, u hebt deze quickstart voltooid.

Volgende stappen