Sdílet prostřednictvím


Sestavení a publikování aplikace v Pythonu

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

V tomto rychlém startu vytvoříte kanál, který sestaví a otestuje aplikaci v Pythonu. 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. Pokud chcete zjistit, které verze Pythonu jsou předinstalované, přečtěte si téma Použití agenta hostovaného Microsoftem.

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 svůj účet GitHubu. Ve výchozím nastavení má fork stejný název jako nadřazené úložiště, ale můžete ho pojmenovat jinak.

Důležité

Během následujících postupů se může zobrazit výzva k vytvoření připojení ke službě GitHub nebo přesměrování na GitHub, abyste se mohli přihlásit, nainstalovat Azure Pipelines nebo autorizovat Azure Pipelines. Dokončete proces podle pokynů na obrazovce. Další informace najdete v tématu Přístup k úložištím GitHub.

Vytvoření kanálu

  1. V projektu Azure DevOps vyberte Pipelines>Create Pipeline a pak jako umístění zdrojového kódu vyberte GitHub.
  2. Na obrazovce Vybrat úložiště vyberte vaše rozvětvované ukázkové úložiště.
  3. Na obrazovce Konfigurace kanálu vyberte Počáteční kanál.

Přizpůsobení kanálu

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

  • Nainstaluje požadované verze a závislosti Pythonu.
  • Balíčky vytvářejí artefakty do archivu ZIP.
  • Publikuje archiv do kanálu.
  • 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'

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

  • Pokud máte jiný fond agentů, změňte parametr fondu name .
  • V případě potřeby změňte verzi Pythonu 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'

Spuštění kanálu

Vyberte Uložit a spusťte a pak vyberte Uložit a spustit znovu.

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

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

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í

Snímek obrazovky dokončené úlohy Pythonu

Na stránce Artefakty se zobrazují publikované artefakty sestavení. 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

Vyberte Spustit.

Čí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

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

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

Snímek obrazovky dokončené úlohy Pythonu

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

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

Vyčištění

Po dokončení tohoto rychlého startu můžete odstranit projekt Azure DevOps, který jste vytvořili.

  1. V projektu 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 vytvořili a spustili kanál, který vytvořil a otestoval aplikaci v Pythonu. Teď můžete 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).

Další kroky