Kompilowanie i publikowanie aplikacji w języku Python
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
W tym przewodniku Szybki start utworzysz potok, który kompiluje i testuje aplikację w języku 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
- Konto usługi GitHub, na którym można utworzyć repozytorium. Utwórz bezpłatne konto usługi GitHub.
- Organizacja: Azure DevOps. Utwórz je bezpłatnie.
- Projekt usługi Azure DevOps. Utwórz go przy użyciu Kreatora tworzenia projektu usługi Azure DevOps.
- Możliwość uruchamiania potoków na agentach hostowanych przez firmę Microsoft. Musisz zażądać bezpłatnego udzielenia zadań równoległych lub kupić zadanie równoległe.
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.
- Konto usługi GitHub, na którym można utworzyć repozytorium. Utwórz bezpłatne konto usługi GitHub.
- Organizacja: Azure DevOps. Utwórz je bezpłatnie.
- Projekt usługi Azure DevOps. Utwórz go przy użyciu Kreatora tworzenia projektu usługi Azure DevOps.
- Własny agent. Aby je utworzyć, zobacz Self-hosted agents (Agenci hostowani samodzielnie).
- Język Python zainstalowany na własnym agencie. Aby zainstalować język Python na agencie, zobacz UsePythonVersion.
Rozwidlenie przykładowego kodu
Rozwidlenie przykładowego repozytorium języka Python na koncie usługi GitHub.
- Przejdź do repozytorium python-sample-vscode-flask-tutorial .
- Wybierz pozycję Rozwidlenie w prawym górnym rogu strony.
- 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 Access to GitHub repozytoria.
Tworzenie potoku
- W projekcie usługi Azure DevOps wybierz pozycję Potoki>Utwórz potok, a następnie wybierz pozycję GitHub jako lokalizację kodu źródłowego.
- Na ekranie Wybieranie repozytorium wybierz rozwidlenie przykładowego repozytorium.
- Na ekranie Konfigurowanie potoku wybierz pozycję Potok startowy.
Dostosowywanie potoku
Na ekranie Przeglądanie potoku YAML zastąp zawartość wygenerowanego pliku azure-pipelines.yml następującym kodem. Kod:
- Instaluje wymagane wersje i zależności języka Python.
- Pakiety tworzą artefakty do archiwum ZIP.
- Publikuje archiwum w potoku.
- 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'
Uruchamianie potoku
Wybierz pozycję Zapisz i uruchom, a następnie wybierz pozycję Zapisz i uruchom ponownie.
Na karcie Podsumowanie jest wyświetlany stan uruchomienia potoku.
Aby wyświetlić artefakt kompilacji, wybierz opublikowany link na karcie Podsumowanie .
Na stronie Artefakty są wyświetlane opublikowane artefakty kompilacji.
Na stronie Artefakty są wyświetlane opublikowane artefakty kompilacji.
Aby wyświetlić wyniki testu, wybierz kartę Testy .
Wybierz Uruchom.
Numer kompilacji jest wyświetlany w górnej części strony. Wybierz numer kompilacji, aby wyświetlić szczegóły kompilacji.
Na karcie Podsumowanie jest wyświetlany stan uruchomienia potoku.
Aby pobrać artefakt kompilacji, wybierz link upuszczania z opublikowanej sekcji Tworzenie artefaktów.
Aby wyświetlić wyniki testu, wybierz kartę Testy .
Czyszczenie
Po zakończeniu pracy z tym przewodnikiem Szybki start możesz usunąć utworzony projekt usługi Azure DevOps.
- W projekcie wybierz ikonę koła zębatego Ustawienia projektu w lewym dolnym rogu strony.
- W dolnej części strony przeglądu projektu wybierz pozycję Usuń.
- Wprowadź nazwę projektu i wybierz pozycję Usuń.
Gratulacje, pomyślnie utworzono i uruchomiono potok, który skompilował 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
Wdrażanie aplikacji internetowej w języku Python w usłudze aplikacja systemu Azure przy użyciu ciągłej integracji/ciągłego wdrażania.