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
- 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 poprosić o bezpłatne przyznanie 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.
- Samodzielnie hostowany agent. Aby go utworzyć, zobacz Agenci hostowani samodzielnie.
- Python zainstalowany na samodzielnie hostowanym agencie. Aby zainstalować język Python na agencie, zobacz UsePythonVersion.
Sforkuj przykładowy kod
Sforkuj przykładowe repozytorium Pythona na swoim koncie GitHub.
- Przejdź do repozytorium python-sample-vscode-flask-tutorial.
- Wybierz Fork 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 Dostęp do repozytoriów GitHub.
Utwórz swój potok
- W projekcie Azure DevOps wybierz Potoki, a potem Utwórz potok, a następnie wybierz GitHub jako lokalizację kodu źródłowego.
- Na ekranie Wybierz repozytorium wybierz swoje zforkowane przykładowe repozytorium.
- 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.
Na karcie Podsumowanie jest wyświetlany stan uruchomienia potoku.
Aby wyświetlić artefakt kompilacji, wybierz link opublikowany w 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 .
Czyszczenie
Po zakończeniu pracy z tym szybkim startem możesz usunąć utworzony projekt Azure DevOps.
- W projekcie wybierz ikonę Ustawienia projektu w kształcie koła zębatego 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).