Publicera Python-paket med Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Med Hjälp av Azure Pipelines kan utvecklare publicera Python-paket till Azure Artifacts-feeds, offentliga register eller lagra dem som pipelineartefakter. Den här artikeln vägleder dig genom hur du:
- Installera förhandskraven
- Ansluta till en Azure Artifacts-feed
- Publicera Python-paket till en Azure Artifacts-feed
Förutsättningar
En Azure DevOps-organisation och ett projekt. Skapa en organisation eller ett projekt om du inte redan har gjort det.
En Azure Artifacts-feed. Skapa en feed om du inte redan har en.
Autentisera med Azure Artifacts
Om du vill använda twine
för att publicera dina Python-paket måste du först autentisera med din Azure Artifacts-feed. Uppgiften TwineAuthenticate tillhandahåller autentiseringsuppgifter för twine till en PYPIRC_PATH
miljövariabel. Den här variabeln används sedan avtwine
för att underlätta publiceringen av dina paket direkt från pipelinen.
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, artifactFeed: <FEED_NAME>
Viktigt!
De autentiseringsuppgifter som lagras i PYPIRC_PATH
miljövariabeln ersätter dem i dina .ini
och .conf
dina filer.
Om du lägger till flera TwineAuthenticate-uppgifter i olika steg i pipelinen utökas den befintliga PYPIRC_PATH
miljövariabeln (inte åsidosättas) för varje ytterligare aktivitetskörning.
Publicera Python-paket till en Azure Artifacts-feed
- script: |
pip install build
pip install twine
displayName: 'Install build and twine'
- script: |
python -m build -w
displayName: 'Python build'
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME>
displayName: 'Twine Authenticate'
- script: |
python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
displayName: 'Upload to feed'
Kommentar
Om du vill publicera dina paket i ett flöde med Hjälp av Azure Pipelines måste både Project Collection Build Service och projektets Build Service-identiteter ha rollen Feed Publisher (deltagare) tilldelad i feedinställningarna. Mer information finns i Hantera behörigheter .