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 .