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
.
Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz element Pipelines, a później wybierz definicję "pipeline".
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 .
Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz pozycję Pipelines, a następnie wybierz swoją definicję pipeline'u.
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'