Publicera Python-paket med Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Med Azure Pipelines kan utvecklare publicera Python-paket till Azure Artifacts-feeds och offentliga register, till exempel PyPi. Den här artikeln vägleder dig genom hur du publicerar Python-paket till din 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 en feed
Om du vill publicera Python-paket med hjälp av twine 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 publicera paket direkt från din pipeline.
Viktigt!
De autentiseringsuppgifter som lagras i PYPIRC_PATH
miljövariabeln har företräde framför dem i .ini
- och .conf
-filerna.
Om du lägger till flera TwineAuthenticate- aktiviteter i olika steg i pipelinen utökas varje aktivitetskörning (inte åsidosätta) den befintliga PYPIRC_PATH
miljövariabeln.
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Pipelinesoch välj sedan din pipelinedefinition.
Välj Redigeraoch lägg sedan till följande kodfragment i YAML-pipelinen.
steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.x' - task: TwineAuthenticate@1 inputs: artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
Publicera Python-paket på en feed
Kommentar
Om du vill publicera dina paket i en feed med hjälp av Azure Pipelines kontrollerar du att både identiteterna för Project Collection Build Service och projektets Build Service har tilldelats rollen Feed Publisher (Deltagare) i dina feedinställningar. Mer information finns i Hantera behörigheter .
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Pipelinesoch välj sedan din pipelinedefinition.
Välj Redigeraoch lägg sedan till följande kodfragment i YAML-pipelinen.
steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.x' - 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> ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME> displayName: 'Twine Authenticate' - script: | python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl displayName: 'Upload to feed'