Udostępnij za pośrednictwem


Publikowanie pakietów języka Python za pomocą usługi Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Usługa Azure Pipelines umożliwia deweloperom publikowanie pakietów języka Python w źródłach danych usługi Azure Artifacts i publicznych rejestrach, takich jak PyPi. Ten artykuł przeprowadzi Cię przez proces publikowania pakietów języka Python w kanale informacyjnym usługi Azure Artifacts.

Wymagania wstępne

  • Organizacja i projekt usługi Azure DevOps. Utwórz organizację lub projekt, jeśli jeszcze tego nie zrobiono.

  • Źródło danych usługi Azure Artifacts. Utwórz kanał informacyjny , jeśli jeszcze go nie masz.

Uwierzytelnianie za pomocą kanału danych

Aby opublikować pakiety języka Python przy użyciu twine, musisz najpierw uwierzytelnić się za pomocą kanału Azure Artifacts. Zadanie TwineAuthenticate udostępnia poświadczenia bliźniaczych reprezentacji do zmiennej środowiskowejPYPIRC_PATH. Ta zmienna jest następnie używana przeztwine do publikowania pakietów bezpośrednio z twojego potoku.

Ważne

Poświadczenia przechowywane w zmiennej środowiskowej PYPIRC_PATH mają pierwszeństwo przed poświadczeniami w plikach .ini i .conf.

Jeśli dodasz wiele zadań TwineAuthenticate na różnych etapach pipeline'u, każde wykonanie zadania rozszerzy (nie zastąpi) istniejącą zmienną środowiskową PYPIRC_PATH.

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz element Pipelines, a później wybierz definicję "pipeline".

  3. Wybierz pozycję Edytuj, a następnie dodaj następujący fragment kodu do potoku YAML.

    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>
    

Publikowanie pakietów języka Python w kanale informacyjnym

Uwaga

Aby opublikować pakiety w kanale przy użyciu usługi Azure Pipelines, upewnij się, że zarówno tożsamość usługi Project Collection Build Service, jak i tożsamość usługi kompilacji projektu są przypisane do roli publikatora kanału (współtwórca) w ustawieniach kanału. Aby uzyskać szczegółowe informacje, zobacz Zarządzanie uprawnieniami .

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Pipelines, a następnie wybierz swoją definicję pipeline'u.

  3. Wybierz Edytuj, a następnie dodaj następujący fragment do rurku YAML.

    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'