Python-alkalmazás létrehozása és közzététele
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
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
- Egy GitHub-fiók, ahol adattárat hozhat létre. Hozzon létre ingyenes GitHub-fiókot.
- Egy Azure DevOps-szervezet. Hozzon létre egyet ingyen.
- Egy Azure DevOps-projekt. Hozzon létre egyet az Azure DevOps Projektlétrehozás varázslóval.
- Folyamatok futtatása a Microsoft által üzemeltetett ügynökökön. Igényelnie kell a párhuzamos feladatok ingyenes megadását, vagy meg kell vásárolnia egy párhuzamos feladatot.
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 Microsoft által üzemeltetett ügynök használata című témakört.
- Egy GitHub-fiók, ahol adattárat hozhat létre. Hozzon létre ingyenes GitHub-fiókot.
- Egy Azure DevOps-szervezet. Hozzon létre egyet ingyen.
- Egy Azure DevOps-projekt. Hozzon létre egyet az Azure DevOps Projektlétrehozás varázslóval.
- Egy saját üzemeltetésű ügynök. A létrehozáshoz tekintse meg a saját üzemeltetésű ügynököket.
- A Python telepítve van a saját üzemeltetésű ügynökén. Ha telepíteni szeretné a Pythont az ügynökén, olvassa el a UsePythonVersion című témakört.
A mintakód elágazása
A minta Python-adattár elágazása a GitHub-fiókba.
- Nyissa meg a python-sample-vscode-flask-tutorial adattárat.
- Válassza az Elágazás lehetőséget a lap jobb felső sarkában.
- Válassza ki a GitHub-fiókját. Alapértelmezés szerint az elágazás neve megegyezik a szülőadattár nevével, de más nevet adhat neki.
Fontos
Az alábbi eljárások során előfordulhat, hogy a rendszer arra kéri, hogy hozzon létre egy GitHub-szolgáltatáskapcsolatot , vagy átirányítsa a GitHubra a bejelentkezéshez, az Azure Pipelines telepítéséhez vagy az Azure Pipelines engedélyezéséhez. A folyamat befejezéséhez kövesse a képernyőn megjelenő utasításokat. További információ: Access to GitHub-adattárak.
A folyamat létrehozása
- Az Azure DevOps-projektben válassza a Pipelines>Create Pipeline lehetőséget, majd 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 mintaadattárat.
- A folyamat konfigurálása képernyőn válassza a Starter-folyamatot.
A folyamat 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:
- 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 a folyamaton.
- 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 azure-pipelines.yml testreszabása a projektkonfigurációnak megfelelően.
- Ha másik ügynökkészlete van, módosítsa a készlet
name
paraméterét. - Szükség esetén módosítsa a Python-verziót a 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 folyamat futtatása
Válassza a Mentés és futtatás, majd a Mentés és futtatás lehetőséget.
Az Összegzés lapon látható a folyamatfuttatás állapota.
A buildösszetevő megtekintéséhez válassza a közzétett hivatkozást az Összegzés lapon.
Az Összetevők lapon láthatók a közzétett buildösszetevők.
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.
Válassza a Futtatás lehetőséget.
A buildszám az oldal tetején jelenik meg. Válassza ki a build számát a build részleteinek megtekintéséhez.
Az Összegzés lapon látható a folyamatfuttatás állapota.
A buildösszetevő letöltéséhez válassza a legördülő hivatkozást a Közzétett összetevők összeállítása szakaszból.
A teszteredmények megtekintéséhez válassza a Tesztek lapot.
A fölöslegessé vált elemek eltávolítása
A rövid útmutató befejezése után törölheti a létrehozott Azure DevOps-projektet.
- A projektben válassza a Projektbeállítások fogaskerék ikont a lap bal alsó sarkában.
- A Projekt áttekintése lap alján válassza a Törlés lehetőséget.
- Adja meg a projekt nevét, és válassza a Törlés lehetőséget.
Gratulálunk, 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 folyamatos integrációs és folyamatos kézbesítési (CI/CD) rendszer részeként.