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

Za pomocą usługi Azure Pipelines deweloperzy mogą publikować pakiety języka Python w źródłach danych usługi Azure Artifacts, publicznych rejestrach lub przechowywać je jako artefakty potoku. Ten artykuł przeprowadzi Cię przez proces wykonywania następujących instrukcji:

  • Zainstalowanie wstępnie wymaganych składników
  • Nawiązywanie połączenia z kanałem informacyjnym usługi Azure Artifacts
  • Publikowanie 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ą usługi Azure Artifacts

Aby używać twine go do publikowania pakietów języka Python, musisz najpierw uwierzytelnić się przy użyciu źródła danych usługi Azure Artifacts. Zadanie TwineAuthenticate udostępnia poświadczenia bliźniaczych reprezentacji do zmiennej środowiskowejPYPIRC_PATH. Ta zmienna jest następnie używana przeztwine program w celu ułatwienia publikowania pakietów bezpośrednio z potoku.

- task: TwineAuthenticate@1
  inputs:
    artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, artifactFeed: <FEED_NAME>

Ważne

Poświadczenia przechowywane w zmiennej środowiskowej PYPIRC_PATH zastępują te w plikach .ini i .conf .

Jeśli dodasz wiele zadań TwineAuthenticate na różnych etapach potoku, każde dodatkowe wykonanie zadania rozszerzy (nie zastępuje) istniejącej PYPIRC_PATH zmiennej środowiskowej.

Publikowanie pakietów języka Python w kanale informacyjnym usługi Azure Artifacts

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

Uwaga

Aby opublikować pakiety w kanale informacyjnym przy użyciu usługi Azure Pipelines, zarówno usługa Project Collection Build Service, jak i tożsamości usługi kompilacji projektu muszą mieć rolę Wydawca źródła danych (współautor) przypisaną w ustawieniach kanału informacyjnego. Aby uzyskać szczegółowe informacje, zobacz Zarządzanie uprawnieniami .