Публикация пакетов Python с помощью Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
С помощью Azure Pipelines разработчики могут публиковать пакеты Python в веб-каналах Azure Artifacts, общедоступных реестрах или хранить их как артефакты конвейера. В этой статье описано, как:
- Установка необходимых компонентов
- Подключение к веб-каналу Артефактов Azure
- Публикация пакетов Python в веб-канале Артефактов Azure
Необходимые компоненты
Организация Azure DevOps и проект. Создайте организацию или проект, если вы еще не сделали этого.
Веб-канал артефактов Azure. Создайте веб-канал , если у вас еще нет.
Проверка подлинности с помощью артефактов Azure
Чтобы опубликовать twine
пакеты Python, необходимо сначала пройти проверку подлинности с помощью веб-канала Артефактов Azure. Задача TwineAuthenticate предоставляет учетные данные twine в PYPIRC_PATH
переменную среды. Затем эта переменная используетсяtwine
для упрощения публикации пакетов непосредственно из конвейера.
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, artifactFeed: <FEED_NAME>
Внимание
Учетные данные, хранящиеся в переменной PYPIRC_PATH
среды, заменяют эти учетные данные в файлах и .conf
файлах.ini
.
При добавлении нескольких задач TwineAuthenticate на разных этапах конвейера каждое дополнительное выполнение задачи расширяет (не переопределяет) существующую PYPIRC_PATH
переменную среды.
Публикация пакетов Python в веб-канале Артефактов Azure
- 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'
Примечание.
Чтобы опубликовать пакеты в веб-канале с помощью Azure Pipelines, служба сборки проекта и удостоверения службы сборки проекта должны иметь роль издателя веб-канала (участника) в параметрах веб-канала. Дополнительные сведения см. в разделе "Управление разрешениями ".