Dela via


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.

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Pipelinesoch välj sedan din pipelinedefinition.

  3. 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 .

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Pipelinesoch välj sedan din pipelinedefinition.

  3. 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'