Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Ebben a rövid útmutatóban létrehoz egy folyamatot, amely létrehoz és tesztel egy Python-alkalmazást. Megtudhatja, hogyan hozhat létre, tesztelhet és helyezhet üzembe Python-alkalmazásokat és szkripteket az Azure Pipelines használatával a folyamatos integrációs és folyamatos kézbesítési (CI/CD) rendszer részeként.
Előfeltételek
A Python előre telepítve van a Microsoft által üzemeltetett linuxos, macOS és Windows rendszerű ügynökökre . A Python-projektek létrehozásához nem kell további beállításokat beállítania. Annak megtekintéséhez, hogy mely Python-verziók vannak előre telepítve, olvassa el a Szoftver című témakört.
| termék | Követelmények |
|---|---|
| Azure DevOps | - Egy Azure DevOps-projekt. – Képes futtatni folyamatokat a Microsoft által üzemeltetett ügynökökön. Vásárolhat párhuzamos feladatot , vagy ingyenes szintet kérhet. - A YAML és az Azure Pipelines alapszintű ismerete. További információért lásd Az első adatfolyam létrehozása. - engedélyek: A folyamat létrehozásához a Közreműködők csoport tagjának kell lennie, és a csoportnak rendelkeznie kell a build folyamat létrehozása engedéllyel, amelynek beállítása "Engedélyezve". A Projektgazdák csoport tagjai kezelhetik a folyamatokat. - Szolgáltatáskapcsolatok létrehozásához: A szolgáltatáskapcsolatokhozrendszergazdai vagy létrehozói szerepkör szükséges. |
| GitHub | - Egy GitHub--fiók. - Egy GitHub-szolgáltatáskapcsolat az Azure Pipelines engedélyezéséhez. |
| termék | Követelmények |
|---|---|
| Azure DevOps | - Egy Azure DevOps-projekt. - Egy saját üzemeltetésű ügynök, amelyen telepítve van a Python 3.12 vagy más Python-verzió. Egy létrehozásához tekintse meg a saját üzemeltetésű ügynököket. - A YAML és az Azure Pipelines alapszintű ismerete. További információért lásd Az első adatfolyam létrehozása. - engedélyek: A folyamat létrehozásához a Közreműködők csoport tagjának kell lennie, és a csoportnak rendelkeznie kell a build folyamat létrehozása engedéllyel, amelynek beállítása "Engedélyezve". A Projektgazdák csoport tagjai kezelhetik a folyamatokat. - Szolgáltatáskapcsolatok létrehozásához: A szolgáltatáskapcsolatokhozrendszergazdai vagy létrehozói szerepkör szükséges. |
| GitHub | - Egy GitHub--fiók. - Egy GitHub-szolgáltatáskapcsolat az Azure Pipelines engedélyezéséhez. |
Fontos
A GitHub-eljárások megkövetelhetik, hogy a GitHubon hajtsa végre az alábbi műveletek egyikét:
- Bejelentkezés.
- Az Azure Pipelines engedélyezése.
- Hitelesítés GitHub-szervezeteknek.
- Telepítse az Azure Pipelines alkalmazást.
Kövesse az utasításokat a szükséges folyamatok elvégzéséhez. További információ: Hozzáférés a GitHub-adattárakhoz.
Készíts másolatot a mintakódból
A minta Python-adattár forkolása a GitHub-fiókodba.
- Nyissa meg a python-sample-vscode-flask-tutorial adattárat.
- Válassza az Elágazás lehetőséget a jobb felső sarokban.
- Győződjön meg arról, hogy a GitHub-fiók neve ki van jelölve a Tulajdonos területen, és válassza az Elágazás létrehozása lehetőséget. Az elágazás neve alapértelmezés szerint megegyezik a szülőadattár nevével, de más nevet is adhat neki.
Hozza létre a pipeline-ját
- Az Azure DevOps-projektben válassza a folyamatok lehetőséget a bal oldali navigációs menüben, majd válassza az Új folyamat vagy a Folyamat létrehozása lehetőséget, ha ez a folyamat az első a projektben.
- A Kód helye képernyőn válassza a GitHubot a forráskód helyeként.
- Az Adattár kiválasztása képernyőn válassza ki az elágazott Python-mintaadattárat.
- A Folyamatvonal konfigurálása képernyőn válassza a Kezdő folyamatvonalat.
A csővezeték testreszabása
A folyamat YAML-jének áttekintése képernyőn cserélje le a létrehozott azure-pipelines.yml fájl tartalmát a következő kódra. A kód a Következő műveleteket hajtja végre a Python három különböző verzióján:
- Telepíti a szükséges Python-verziókat és függőségeket.
- A csomagok összetevőket építenek egy ZIP-archívumba.
- Közzéteszi az archívumot az Ön folyamatába.
- Teszteket futtat.
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'
A folyamat YAML-jének áttekintése képernyőn cserélje le a létrehozott azure-pipelines.yml fájl tartalmát a következő kódra. A kód a következő műveleteket hajtja végre:
- Telepíti a szükséges Python-verziókat és függőségeket.
- A csomagok összetevőket építenek egy ZIP-archívumba.
- Közzéteszi az archívumot az Ön folyamatába.
- Teszteket futtat.
Igazítsa az azure-pipelines.yml-t a projekt konfigurációjához.
- Ha más ügynökkészlettel rendelkezik, cserélje le a
namehelyőrzőt az ön ügynökkészletének nevére, vagy használja adefault-t. - Szükség esetén módosítsa a Pythont
versionSpeca saját üzemeltetésű ügynökén telepített verzióra.
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'
A pipeline futtatása
Válassza a Mentés és futtatás lehetőséget, majd ismét válassza a Mentés és futtatás lehetőséget. Az Összegzés képernyőn a Feladat lehetőséget választva megtekintheti a feladatot működés közben.
A feladat háromszor fut, minden megadott Python-verzióhoz egyszer. A három verzió párhuzamosan futtatható különböző ügynökökön.
Összetevők és teszteredmények megtekintése
A build-artifaktok megtekintéséhez válassza a [N] közzétett hivatkozást az Összefoglaló lapon.
Az Összetevők lapon láthatók a közzétett buildösszetevők.
A teszteredmények megtekintéséhez válassza a Tesztek lapot.
Takarítás
Ha végzett a létrehozott pipeline-nal, törölheti azt.
A projekt bal oldali navigációs menüjében válassza a Folyamatok lehetőséget.
A folyamatlistában vigye az egérmutatót a létrehozott folyamat fölé, válassza a jobb oldalon a További műveletek ikont, majd válassza a Törlés lehetőséget.
Vagy jelölje ki a folyamatot, majd a folyamat oldalán válassza a jobb felső sarokban található További műveletek ikont, majd válassza a Törlés lehetőséget.
Adja meg a folyamat nevét, majd kattintson ismét a Törlés gombra.
Sikeresen létrehozott és futtatott egy folyamatot, amely létrehozott és tesztelt egy Python-alkalmazást. Mostantól az Azure Pipelines használatával Python-alkalmazásokat és szkripteket hozhat létre, tesztelhet és helyezhet üzembe a CI/CD-folyamat részeként.