Sdílet prostřednictvím


Publikování balíčků Pythonu pomocí Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Azure Pipelines umožňuje vývojářům publikovat balíčky Pythonu do informačních kanálů Azure Artifacts a veřejných registrů, jako je PyPi. Tento článek vás provede publikováním balíčků Pythonu do informačního kanálu Azure Artifacts.

Požadavky

Ověření pomocí zdroje

Pokud chcete publikovat balíčky Pythonu pomocí twine, musíte se nejdřív ověřit s vaším kanálem Azure Artifacts. Úloha TwineAuthenticate poskytuje přihlašovací údaje dvojčat k PYPIRC_PATH proměnné prostředí. Tuto proměnnou pak použijetwine k publikování balíčků přímo z vašeho pipeline.

Důležité

Přihlašovací údaje uložené v proměnné prostředí PYPIRC_PATH mají přednost před přihlašovacími údaji v .ini a .conf souborech.

Pokud přidáte více TwineAuthenticate úloh v různých fázích vaší pipeliny, každé spuštění úkolu rozšíří (nepřepíše) stávající proměnné prostředí PYPIRC_PATH.

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.

  2. Vyberte Pipelinesa pak vyberte definici kanálu.

  3. Vyberte Upravita pak do kanálu YAML přidejte následující fragment kódu.

    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>
    

Publikování balíčků Pythonu do informačního kanálu

Poznámka:

Pokud chcete balíčky publikovat do informačního kanálu pomocí Azure Pipelines, ujistěte se, že služby sestavení kolekce projektů i identitám služby buildování projektu identitám Feed Publisher (Přispěvatel) v nastavení informačního kanálu. Podrobnosti najdete v tématu Správa oprávnění .

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.

  2. Vyberte Pipelinesa pak vyberte definici kanálu.

  3. Vyberte Upravita pak do kanálu YAML přidejte následující fragment kódu.

    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'