Sestavování aplikací v Pythonu

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

Azure Pipelines můžete použít k sestavování, testování a nasazování aplikací a skriptů Pythonu jako součást systému CI/CD.

V tomto rychlém startu se dozvíte, jak vytvořit kanál pro sestavení a testování aplikace v Pythonu.

Abyste mohli vytvářet projekty Pythonu, nemusíte pro Azure Pipelines nic nastavovat. Python je předinstalovaný na agentech sestavení hostovaných Microsoftem pro Linux, macOS nebo Windows. Pokud chcete zjistit, které verze Pythonu jsou předinstalované, přečtěte si téma Použití agenta hostovaného Microsoftem.

Požadavky

  • Účet GitHubu, kde můžete vytvořit úložiště. Vytvořte si ho zdarma.
  • Organizace Azure DevOps. Vytvořte si ho zdarma.
  • Projekt Azure DevOps. Vytvořte ho pomocí Průvodce vytvořením projektu Azure DevOps.
  • Možnost spouštět kanály na agentech hostovaných Microsoftem Můžete si buď koupit paralelní úlohu , nebo si můžete vyžádat úroveň Free.
  • Účet GitHubu, kde můžete vytvořit úložiště. Vytvořte si ho zdarma.
  • An Azure DevOps Server.
  • Projekt Azure DevOps. Vytvořte ho pomocí Průvodce vytvořením projektu Azure DevOps Serveru.
  • Agent v místním prostředí. Pokud ho chcete vytvořit, podívejte se na agenty v místním prostředí.
  • Verze Pythonu nainstalované na vašem místním agentu. Informace o instalaci Pythonu do agenta najdete v tématu UsePythonVersion.

1. Vytvoření forku vzorového kódu

Vytvoření forku ukázkového úložiště Pythonu do účtu GitHubu

  1. Přejděte do úložiště python-sample-vscode-flask-tutorial .
  2. V pravém horním rohu stránky vyberte Fork .
  3. Vyberte účet GitHubu, do kterého chcete vytvořit fork úložiště, a zadejte název forku úložiště.

2. Vytvoření kanálu

  1. Přejděte na Azure Pipelines a vyberte Spustit zdarma. Pokud se zobrazí výzva, přihlaste se ke svému účtu DevOps.

  2. Přejděte do projektu a vyberte Kanál> vytvořit.

  3. Jako umístění zdrojového kódu vyberte GitHub .

  4. Pokud jste přesměrováni na GitHub, abyste se mohli přihlásit, zadejte svoje přihlašovací údaje GitHubu.

  5. Jakmile se zobrazí seznam úložišť, vyberte vaše rozvětvované ukázkové úložiště.

  6. Na kartě Konfigurace kanálu vyberte Počáteční kanál.

  1. V prohlížeči přejděte do kolekce DevOps Serveru.

  2. Přejděte do projektu a vyberte Kanály>Vytvořit nový kanál.

  3. Jako umístění zdrojového kódu vyberte GitHub Enterprise Server .

  4. Pokud jste přesměrováni na GitHub, abyste se mohli přihlásit, zadejte svoje přihlašovací údaje GitHubu.

  5. Jakmile se zobrazí seznam úložišť, vyberte vaše rozvětvované ukázkové úložiště.

  6. Na kartě Konfigurace kanálu vyberte Počáteční kanál.

3. Přizpůsobení kanálu

Vygenerovaný obsah souboru azure-pipelines.yml nahraďte následujícím kódem. Tento kód nainstaluje požadovanou verzi Pythonu a závislosti, zabalí balíček Pythonu do souboru ZIP publikovaného do vašeho kanálu a spustí 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'

azure-pipelines.yml Přizpůsobte si konfiguraci projektu.

  1. Vygenerovaný YAML nahraďte následujícím kódem. Tento kód nainstaluje požadovanou verzi Pythonu a závislosti, zabalí balíček Pythonu do souboru ZIP publikovaného do vašeho kanálu a spustí testy.
  2. Pokud máte jiný fond agentů, změňte parametr fondu name .
  3. Změňte verzi Pythonu tak, aby odpovídala verzi nainstalované na vašem 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'

4. Spuštění kanálu

Uložte a spusťte kanál.

  1. Zvolte Uložit a Spustit.
  2. V dialogovém okně Uložit a spustit vyberte Uložit a spustit.
  3. Na kartě Souhrn uvidíte stav spuštění kanálu.
  1. Vyberte Spustit.
  2. Číslo sestavení se zobrazí v horní části stránky. Výběrem čísla buildu zobrazíte podrobnosti o sestavení.

Snímek obrazovky s odkazem na build kanálu

Snímek obrazovky dokončených úloh Pythonu

Zobrazení artefaktu sestavení na kartě Souhrn vyberte publikovaný odkaz.

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

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

Snímek obrazovky s publikovanými artefakty sestavení

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

Snímek obrazovky s výsledky testu kanálu

Na kartě Souhrn se zobrazuje stav spuštění kanálu.

Snímek obrazovky dokončené úlohy Pythonu

Pokud chcete zobrazit artefakt sestavení, vyberte publikovaný odkaz na kartě Souhrn.

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

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

Snímek obrazovky s výsledky testu kanálu

Na kartě Souhrn se zobrazuje stav spuštění kanálu.

Snímek obrazovky dokončené úlohy Pythonu

Pokud chcete stáhnout artefakt sestavení, vyberte odkaz pro přetažení z publikované části Artefakty sestavení.

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

Snímek obrazovky s výsledky testu kanálu

Vyčištění

Až tento rychlý start dokončíte, můžete odstranit projekt, který jste vytvořili v Azure DevOps.

  1. Vyberte ikonu ozubeného kolečka nastavení projektu v levém dolním rohu stránky.
  2. V dolní části stránky Přehled projektu vyberte Odstranit.
  3. Zadejte název projektu a vyberte Odstranit.

Blahopřejeme, úspěšně jste dokončili tento rychlý start.

Další kroky