Sdílet prostřednictvím


Sestavení a publikování aplikace v Pythonu

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

V tomto rychlém startu vytvoříte pipeline, která sestaví a otestuje Python aplikaci. Zjistíte, jak pomocí Azure Pipelines vytvářet, testovat a nasazovat aplikace a skripty Pythonu jako součást systému kontinuální integrace a průběžného doručování (CI/CD).

Požadavky

Python je předinstalovaný na agentech hostovaných Microsoftem pro Linux, macOS a Windows. Pro sestavování projektů Pythonu nemusíte nic dalšího nastavovat. Informace o předinstalovaných verzích Pythonu najdete v tématu Software.

produkt Požadavky
Azure DevOps – projekt Azure DevOps.
– Možnost spouštět potrubí na Microsoftem hostovaných agentech. Můžete si buď koupit paralelní úlohu, nebo požádat o bezplatnou úroveň.
– Základní znalost YAML a Azure Pipelines. Další informace viz Vytvoření první pipeline.
- Oprávnění:
     – Chcete-li vytvořit pipelinu: Musíte být ve skupině Přispěvatelé a skupina musí mít oprávnění Vytvořit pipelinu sestavení nastaveno na Povolit. Členové skupiny Správci projektů můžou spravovat kanály.
    - Chcete-li vytvořit připojení služeb: Musíte mít roli Správce nebo Tvůrce pro připojení služeb .
GitHub – účet GitHubu.
připojení ke službě GitHub k autorizaci Azure Pipelines.
produkt Požadavky
Azure DevOps – projekt Azure DevOps.
– Agent v místním prostředí s nainstalovaným Pythonem 3.12 nebo jinou verzí Pythonu. Chcete-li jej vytvořit, podívejte se na Samo-hostovaní agenti.
– Základní znalost YAML a Azure Pipelines. Další informace viz Vytvoření první pipeline.
- Oprávnění:
    – Chcete-li vytvořit pipelinu: Musíte být ve skupině Přispěvatelé a skupina musí mít oprávnění Vytvořit pipelinu sestavení nastaveno na Povolit. Členové skupiny Správci projektů můžou spravovat kanály.
    - Chcete-li vytvořit připojení služeb: Musíte mít roli Správce nebo Tvůrce pro připojení služeb .
GitHub – účet GitHubu.
připojení ke službě GitHub k autorizaci Azure Pipelines.

Důležité

Postupy GitHubu můžou vyžadovat provedení jedné nebo více následujících akcí na GitHubu:

  • Přihlásit se.
  • Autorizujte Azure Pipelines
  • Ověřte se v organizacích GitHubu.
  • Nainstalujte aplikaci Azure Pipelines.

Podle pokynů dokončete požadované procesy. Další informace najdete v tématu Přístup k úložištím GitHub.

Vytvoření forku vzorového kódu

Forkněte ukázkové Python úložiště na váš GitHub účet.

  1. Přejděte do úložiště python-sample-vscode-flask-tutorial .
  2. Vyberte Fork v pravém horním rohu.
  3. Ujistěte se, že je v části Vlastník vybraný název účtu GitHub, a vyberte Vytvořit fork. Fork má ve výchozím nastavení stejný název jako nadřazené úložiště, ale můžete ho pojmenovat jinak.

Vytvořte svůj potrubí

  1. V projektu Azure DevOps vyberte kanály z levé navigační nabídky a pak vyberte Nový kanál nebo Vytvořit kanál , pokud je tento kanál první v projektu.
  2. Na obrazovce Kde je váš kód , vyberte GitHub jako umístění zdrojového kódu.
  3. Na obrazovce Vybrat úložiště vyberte své forkované ukázkové úložiště Pythonu.
  4. Na obrazovce Konfigurace kanálu vyberte Počáteční kanál.

Přizpůsobte si svůj proces

Na obrazovce Zkontrolovat kanál YAML nahraďte obsah vygenerovaného souboru azure-pipelines.yml následujícím kódem. Kód provede následující akce ve třech různých verzích Pythonu:

  1. Nainstaluje požadovanou verzi Pythonu a závislosti.
  2. Balíčky archivují artefakty do ZIP archivu.
  3. Publikuje archiv do vašeho potrubí.
  4. Spouští testy.
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'

Na obrazovce Zkontrolovat kanál YAML nahraďte obsah vygenerovaného souboru azure-pipelines.yml následujícím kódem. Kód provede následující akce:

  1. Nainstaluje požadovanou verzi Pythonu a závislosti.
  2. Balíčky archivují artefakty do ZIP archivu.
  3. Publikuje archiv do vašeho potrubí.
  4. Spouští testy.

Přizpůsobte azure-pipelines.yml tak, aby odpovídaly konfiguraci projektu.

  • Pokud máte jiný pool agentů, nahraďte zástupný symbol name názvem svého poolu nebo default.
  • V případě potřeby změňte Python versionSpec na verzi nainstalovanou v místním agentu.
  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'

Spusťte váš pipeline

Vyberte Uložit a spusťte a pak vyberte Uložit a spustit znovu. Úlohu můžete zobrazit v akci výběrem Úloha na obrazovce Souhrn.

Úloha se spustí třikrát, jednou pro každou zadanou verzi Pythonu. Tři verze se můžou paralelně spouštět na různých agentech.

Snímek obrazovky dokončené úlohy Pythonu s více verzemi

Snímek obrazovky dokončené jedné úlohy Pythonu

Zobrazení artefaktů a výsledků testů

Pokud chcete zobrazit artefakty sestavení, vyberte odkaz [N] publikovaný na kartě Souhrn.

Snímek obrazovky s odkazem na publikované artefakty sestavení.

Na stránce Artefakty se zobrazují artefakty sestavení.

Snímek obrazovky s publikovanými artefakty sestavení.

Snímek obrazovky s publikovanými artefakty sestavení pro jednu úlohu

Pokud chcete zobrazit výsledky testu, vyberte kartu Testy .

Snímek obrazovky s výsledky testu procesu

Vyčištění

Pokud jste skončili s používáním vytvořeného potrubí, můžete ho odstranit.

  1. V levé navigační nabídce projektu vyberte Kanály .

  2. V seznamu kanálů najeďte myší na kanál, který jste vytvořili, vyberte vpravo ikonu Další akce a pak vyberte Odstranit.

    Nebo vyberte kanál a na stránce kanálu vyberte ikonu Další akce v pravém horním rohu a pak vyberte Odstranit.

  3. Zadejte název kanálu a pak znovu vyberte Odstranit .

Úspěšně jste vytvořili a spustili potrubí, které sestavilo a otestovalo Python aplikaci. V rámci procesu CI/CD teď můžete pomocí Azure Pipelines vytvářet, testovat a nasazovat aplikace a skripty Pythonu.

Další krok