Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
In questo avvio rapido, si crea una pipeline che compila e testa un'app Python. Si vedrà come usare Azure Pipelines per compilare, testare e distribuire script e app Python come parte del sistema di integrazione continua e recapito continuo (CI/CD).
Prerequisiti
Python è preinstallato in agenti ospitati da Microsoft per Linux, macOS e Windows. Non è necessario configurare altro per compilare progetti Python. Per vedere quali versioni di Python sono preinstallate, vedere Software.
| Prodotto | Requisiti |
|---|---|
| Azure DevOps | - Un progetto Azure DevOps. - La possibilità di eseguire pipeline su agenti ospitati da Microsoft. È possibile acquistare un incarico parallelo oppure richiedere un piano gratuito. - Conoscenza di base di YAML e Azure Pipelines. Per maggiori informazioni, vedere Creare la prima pipeline. Autorizzazioni - : - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline. - Per creare connessioni al servizio: è necessario disporre del ruolo di Administrator o Creator per le connessioni al servizio . |
| GitHub | - Un account GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
| Prodotto | Requisiti |
|---|---|
| Azure DevOps | - Un progetto Azure DevOps. - Un agente self-hosted con Python 3.12 o un'altra versione di Python installata. Per crearne uno, vedere Agenti self-hosted. - Conoscenza di base di YAML e Azure Pipelines. Per maggiori informazioni, vedere Creare la prima pipeline. Autorizzazioni - : - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline. - Per creare connessioni al servizio: è necessario disporre del ruolo di Administrator o Creator per le connessioni al servizio . |
| GitHub | - Un account GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
Importante
Le procedure di GitHub potrebbero richiedere di eseguire una o più delle azioni seguenti in GitHub:
- Accedere.
- Autorizzare Azure Pipelines.
- Eseguire l'autenticazione alle organizzazioni GitHub.
- Installare l'app Azure Pipelines.
Seguire le istruzioni per completare i processi necessari. Per altre informazioni, vedere Accedere ai repository GitHub.
Creare una copia tramite fork del codice di esempio
Effettua un fork del repository Python di esempio sul tuo account GitHub.
- Accedi al repository python-sample-vscode-flask-tutorial.
- Selezionare Fork in alto a destra.
- Assicurarsi che il nome dell'account GitHub sia selezionato in Proprietario e selezionare Crea fork. Il fork ha lo stesso nome del repository padre per impostazione predefinita, ma è possibile dargli un nome diverso.
Crea la tua pipeline
- Nel progetto Azure DevOps selezionare Pipeline dal menu di spostamento a sinistra e quindi selezionare Nuova pipeline oppure Crea pipeline se la pipeline è la prima nel progetto.
- Nella schermata Where is your code (Dove è il codice ) selezionare GitHub come percorso del codice sorgente.
- Nella schermata Selezionare un repository, selezionare il fork del repository di esempio Python.
- Nella schermata Configura la pipeline, selezionare Pipeline di base.
Personalizzare la pipeline
Nella schermata Esaminare il file YAML della pipeline, sostituire il contenuto del file azure-pipelines.yml generato con il codice seguente. Il codice esegue le azioni seguenti in tre diverse versioni di Python:
- Installa la versione e le dipendenze di Python necessarie.
- I pacchetti creano artefatti in un archivio ZIP.
- Pubblica l'archivio alla tua pipeline.
- 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'
Nella schermata Esaminare il file YAML della pipeline, sostituire il contenuto del file azure-pipelines.yml generato con il codice seguente. Il codice esegue le azioni seguenti:
- Installa la versione e le dipendenze di Python necessarie.
- I pacchetti creano artefatti in un archivio ZIP.
- Pubblica l'archivio alla tua pipeline.
- Esegue test.
Personalizzare azure-pipelines.yml in modo che corrisponda alla configurazione del progetto.
- Se si dispone di un pool di agenti diverso, sostituire il segnaposto del pool
namecon il nome del pool odefault. - Se necessario, modificare Python
versionSpecin 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'
Esegui la pipeline
Selezionare Salva ed esegui, quindi selezionare Salva ed esegui di nuovo. È possibile selezionare Job sulla schermata Riepilogo per vedere il lavoro in esecuzione.
Il processo viene eseguito tre volte, una volta per ogni versione di Python specificata. Le tre versioni possono essere eseguite in parallelo su agenti diversi.
Visualizzare gli artefatti e i risultati dei test
Per visualizzare gli artifact di build, selezionare il collegamento [N] pubblicato nella scheda Riepilogo.
La pagina degli Artefatti mostra gli artefatti di build pubblicati.
Per visualizzare i risultati del test, selezionare la scheda Test .
Eseguire la pulizia
Se hai finito di utilizzare la pipeline che hai creato, puoi eliminarla.
Selezionare Pipeline dal menu di navigazione a sinistra del progetto.
Nell'elenco della pipeline passare il puntatore del mouse sulla pipeline creata, selezionare l'icona Altre azioni a destra e quindi selezionare Elimina.
In alternativa, selezionare la pipeline e nella pagina della pipeline selezionare l'icona Altre azioni in alto a destra e quindi selezionare Elimina.
Immettere il nome della pipeline e quindi selezionare di nuovo Elimina .
È stata creata ed eseguita correttamente una pipeline che ha compilato e testato un'app Python. È ora possibile usare Azure Pipelines per compilare, testare e distribuire app e script Python come parte del processo CI/CD.