Compilare app Python
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
È possibile usare Azure Pipelines per compilare, testare e distribuire app e script Python come parte del sistema CI/CD.
In questa guida introduttiva si apprenderà come creare una pipeline per compilare e testare un'app Python.
Non è necessario configurare alcun elemento per Azure Pipelines per compilare progetti Python. Python è preinstallato in agenti di compilazione ospitati da Microsoft per Linux, macOS o Windows. Per vedere quali versioni di Python sono preinstallate, vedere Usare un agente ospitato da Microsoft.
Prerequisiti
- Un account GitHub in cui è possibile creare un repository. Crearne una gratuitamente.
- Un'organizzazione di Azure DevOps. Crearne una gratuitamente.
- Un progetto Azure DevOps. Crearne uno usando la Creazione guidata progetto Azure DevOps.
- Possibilità di eseguire pipeline su agenti ospitati da Microsoft. È possibile acquistare un processo parallelo oppure richiedere un livello gratuito.
- Un account GitHub in cui è possibile creare un repository. Crearne una gratuitamente.
- Un server Azure DevOps.
- Un progetto Azure DevOps. Crearne uno usando la Creazione guidata progetto di Azure DevOps Server.
- Agente self-hosted. Per crearne uno, vedere Agenti self-hosted.
- Versioni di Python installate nell'agente self-hosted. Per informazioni su come installare Python nell'agente, vedere UsePythonVersion.
1. Creare una copia tramite fork del codice di esempio
Creare un fork del repository Python di esempio nell'account GitHub.
- Passare al repository python-sample-vscode-flask-tutorial .
- Selezionare Fork nell'angolo superiore destro della pagina.
- Selezionare l'account GitHub in cui si vuole creare una copia tramite fork del repository e immettere un nome per il repository con fork.
2. Creare la pipeline
Passare ad Azure Pipelines e selezionare Avvia gratuitamente. Se richiesto, accedere all'account DevOps.
Passare al progetto e selezionare Pipeline>Crea pipeline.
Selezionare GitHub come percorso del codice sorgente.
Se si viene reindirizzati a GitHub per accedere, immettere le credenziali di GitHub.
Quando viene visualizzato l'elenco dei repository, selezionare il repository di esempio con fork.
Nella scheda Configura la pipeline selezionare Pipeline di avvio.
In un browser passare alla raccolta devOps Server.
Passare al progetto e selezionare Pipeline>Crea una nuova pipeline.
Selezionare GitHub Enterprise Server come percorso del codice sorgente.
Se si viene reindirizzati a GitHub per accedere, immettere le credenziali di GitHub.
Quando viene visualizzato l'elenco dei repository, selezionare il repository di esempio con fork.
Nella scheda Configura la pipeline selezionare Pipeline di avvio.
3. Personalizzare la pipeline
Sostituire il contenuto del file azure-pipelines.yml generato con il codice seguente. Questo codice installa la versione di Python necessaria e le dipendenze, inserisce il pacchetto Python in un file ZIP pubblicato nella pipeline ed esegue test.
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'
Personalizzare l'oggetto azure-pipelines.yml
in modo che corrisponda alla configurazione del progetto.
- Sostituire il codice YAML generato con il codice seguente. Questo codice installa la versione di Python necessaria e le dipendenze, inserisce il pacchetto Python in un file ZIP pubblicato nella pipeline ed esegue test.
- Se si dispone di un pool di agenti diverso, modificare il parametro del pool
name
. - Modificare la versione di Python in modo che corrisponda a una versione installata nell'agente self-hosted.
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'
4. Eseguire la pipeline
Salvare ed eseguire la pipeline.
- Seleziona Salva ed Esegui.
- Nella finestra di dialogo Salva ed esegui selezionare Salva ed esegui.
- Nella scheda Riepilogo è possibile visualizzare lo stato dell'esecuzione della pipeline.
- Selezionare Esegui.
- Il numero di build viene visualizzato nella parte superiore della pagina. Selezionare il numero di build per visualizzare i dettagli della compilazione.
Per visualizzare l'artefatto di compilazione. Selezionare il collegamento pubblicato nella scheda Riepilogo .
La pagina Artefatti mostra gli artefatti di compilazione pubblicati.
Per visualizzare i risultati del test, selezionare la scheda Test .
La scheda Riepilogo mostra lo stato dell'esecuzione della pipeline.
Per visualizzare l'artefatto di compilazione, selezionare il collegamento pubblicato nella scheda Riepilogo .
Per visualizzare i risultati del test, selezionare la scheda Test .
La scheda Riepilogo mostra lo stato dell'esecuzione della pipeline.
Per scaricare l'artefatto di compilazione, selezionare il collegamento a discesa nella sezione Build artifacts published (Compila artefatti pubblicati ).
Per visualizzare i risultati del test, selezionare la scheda Test .
Eseguire la pulizia
Al termine di questa guida introduttiva, è possibile eliminare il progetto creato in Azure DevOps.
- Selezionare l'icona a forma di ingranaggio Impostazioni progetto nell'angolo inferiore sinistro della pagina.
- Nella parte inferiore della pagina panoramica del progetto selezionare Elimina.
- Immettere il nome del progetto e selezionare Elimina.
L'avvio rapido è stato completato correttamente.
Passaggi successivi
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per