Udostępnij za pośrednictwem


Kompilowanie i publikowanie aplikacji w języku Python

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

W tej instrukcji szybkiego startu utworzysz potok, który buduje i testuje aplikację Python. Zobaczysz, jak używać usługi Azure Pipelines do tworzenia, testowania i wdrażania aplikacji i skryptów języka Python w ramach systemu ciągłej integracji i ciągłego dostarczania (CI/CD).

Wymagania wstępne

produkt Wymagania
Azure DevOps projekt usługi Azure DevOps.
— Możliwość uruchamiania potoków na agentach hostowanych przez Microsoft. Możesz kupić zadanie równoległe lub poprosić o bezpłatny poziom.
— Podstawowa wiedza na temat języka YAML i usługi Azure Pipelines. Aby uzyskać więcej informacji, zobacz Utwórz swój pierwszy potok.
Uprawnienia: -
     - Aby utworzyć pipeline: musisz należeć do grupy Współautorzy, a grupa musi mieć uprawnienie Tworzenie pipeline'u kompilacji ustawione na Zezwalaj. Członkowie grupy Administratorzy projektu mogą zarządzać potokami.
    — Aby utworzyć połączenia usług: musisz mieć rolę Administrator lub Twórca dla połączeń usług .
GitHub — Konto GitHub .
Połączenie usługi GitHub do autoryzowania usługi Azure Pipelines.
Błękit Subskrypcja platformy Azure.
produkt Wymagania
Azure DevOps projekt usługi Azure DevOps.
- Samodzielnie hostowany agent. Aby go utworzyć, zobacz Agenci hostowani samodzielnie.
— Podstawowa wiedza na temat języka YAML i usługi Azure Pipelines. Aby uzyskać więcej informacji, zobacz Utwórz swój pierwszy potok.
Uprawnienia: -
    - Aby utworzyć pipeline: musisz należeć do grupy Współautorzy, a grupa musi mieć uprawnienie Tworzenie pipeline'u kompilacji ustawione na Zezwalaj. Członkowie grupy Administratorzy projektu mogą zarządzać potokami.
    — Aby utworzyć połączenia usług: musisz mieć rolę Administrator lub Twórca dla połączeń usług .
GitHub — Konto GitHub .
Połączenie usługi GitHub do autoryzowania usługi Azure Pipelines.
Błękit Subskrypcja platformy Azure.

Język Python jest wstępnie zainstalowany na agentach hostowanych przez firmę Microsoft dla systemów Linux, macOS i Windows. Nie musisz konfigurować jeszcze nic więcej w celu kompilowania projektów języka Python. Aby sprawdzić, które wersje języka Python są wstępnie zainstalowane, zobacz Używanie agenta hostowanego przez firmę Microsoft.

Sforkuj przykładowy kod

Sforkuj przykładowe repozytorium Pythona na swoim koncie GitHub.

  1. Przejdź do repozytorium python-sample-vscode-flask-tutorial.
  2. Wybierz Fork w prawym górnym rogu strony.
  3. Wybierz konto usługi GitHub. Domyślnie rozwidlenie ma taką samą nazwę jak repozytorium nadrzędne, ale można nadać mu inną nazwę.

Ważne

Podczas poniższych procedur może zostać wyświetlony monit o utworzenie połączenia usługi GitHub lub przekierowanie do usługi GitHub w celu zalogowania się, zainstalowania usługi Azure Pipelines lub autoryzowania usługi Azure Pipelines. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby ukończyć proces. Aby uzyskać więcej informacji, zobacz Dostęp do repozytoriów GitHub.

Utwórz swój potok

  1. W projekcie Azure DevOps wybierz Potoki, a potem >, a następnie wybierz GitHub jako lokalizację kodu źródłowego.
  2. Na ekranie Wybierz repozytorium wybierz swoje zforkowane przykładowe repozytorium.
  3. Na ekranie Konfigurowanie potoku , wybierz potok startowy.

Dostosowywanie potoku danych

Na ekranie Przeglądanie potoku YAML, zastąp zawartość wygenerowanego pliku azure-pipelines.yml poniższym kodem. Kod:

  • Instaluje wymagane wersje i zależności języka Python.
  • Pakiety łączą artefakty w archiwum ZIP.
  • Publikuje archiwum do twojej linii przetwarzania.
  • Uruchamia 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'

Dostosuj azure-pipelines.yml , aby dopasować konfigurację projektu.

  • Jeśli masz inną pulę agentów, zmień parametr puli name .
  • W razie potrzeby zmień wersję języka Python na wersję zainstalowaną na własnym agencie.
  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'

Uruchom swój pipeline

Wybierz pozycję Zapisz i uruchom, a następnie wybierz pozycję Zapisz i uruchom ponownie.

Karta Podsumowanie pokazuje stan działania potoku.

Aby wyświetlić artefakt kompilacji, wybierz link opublikowany w karcie Podsumowanie.

Zrzut ekranu przedstawiający link do opublikowanych artefaktów kompilacji.

Na stronie Artefakty są wyświetlane opublikowane artefakty kompilacji. Zrzut ekranu przedstawiający opublikowane wyniki kompilacji.

Zrzut ekranu przedstawiający ukończone zadanie języka Python.

Na stronie Artefakty są wyświetlane opublikowane artefakty kompilacji. Zrzut ekranu przedstawiający link do opublikowanych artefaktów kompilacji.

Aby wyświetlić wyniki testu, wybierz kartę Testy .

Zrzut ekranu przedstawiający wyniki testu potoku.

Czyszczenie

Po zakończeniu pracy z tym szybkim startem możesz usunąć utworzony projekt Azure DevOps.

  1. W projekcie wybierz ikonę Ustawienia projektu w kształcie koła zębatego w lewym dolnym rogu strony.
  2. W dolnej części strony przeglądu projektu wybierz pozycję Usuń.
  3. Wprowadź nazwę projektu i wybierz pozycję Usuń.

Gratulacje, pomyślnie utworzono i uruchomiono pipeline, który zbudował i przetestował aplikację w języku Python. Teraz możesz używać usługi Azure Pipelines do tworzenia, testowania i wdrażania aplikacji i skryptów języka Python w ramach systemu ciągłej integracji i ciągłego dostarczania (CI/CD).

Następne kroki