Публикация пакетов Python с помощью Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Azure Pipelines позволяет разработчикам публиковать пакеты Python в каналах Azure Artifacts и публичных реестрах, таких как PyPI. В этой статье описано, как опубликовать пакеты Python в вашем канале Azure Artifacts.
Необходимые компоненты
Организация Azure DevOps и проект. Создайте организацию или проект, если вы еще не сделали этого.
Веб-канал артефактов Azure. Создайте веб-канал , если у вас еще нет.
Аутентификация с помощью канала
Чтобы опубликовать пакеты Python с помощью twine, необходимо сначала пройти аутентификацию с вашим каналом Azure Artifacts.
Задача TwineAuthenticate предоставляет учетные данные twine в PYPIRC_PATH
переменную среды. Затем эта переменная используетсяtwine
для публикации пакетов непосредственно из вашего конвейера.
Внимание
Учетные данные, хранящиеся в переменной среды PYPIRC_PATH
, имеют приоритет над учетными данными в .ini
и .conf
файлах.
При добавлении нескольких задач TwineAuthenticate на разных этапах вашего конвейера, каждое выполнение каждой задачи расширяет значение (а не переопределяет) существующую переменную среды PYPIRC_PATH
.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите конвейеры, а затем выберите определение конвейера.
Выберите Изменить, а затем добавьте следующий фрагмент кода в ваш конвейер 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>
Публикация пакетов Python в веб-канале
Примечание.
Чтобы опубликовать пакеты в веб-канале с помощью Azure Pipelines, убедитесь, что службы сборки
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите конвейеры, а затем выберите определение вашего конвейера.
Выберите Изменить, а затем добавьте следующий фрагмент в конвейер 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'
Связанное содержимое
- Публикация и загрузка артефактов конвейера
- Настройте восходящие источники
- Используйте файл .artifactignore