Поделиться через


Публикация пакетов Python (CLI)

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

В этой статье рассказывается, как публиковать пакеты Python в канал-источник Azure Artifacts с помощью интерфейса командной строки NuGet.

Предварительные условия

продукт требования
Azure DevOps Организация Azure DevOps.
— проект Azure DevOps .
— Скачивание и установка Python.

Создать ленту

  1. Войдите в свою организацию Azure DevOps и откройте нужный проект.

  2. Выберите Артефакты, затем выберите Создать фид.

  3. Укажите имя для вашего веб-канала, выберите опцию "Видимость", определяющую, кто может просматривать ваши пакеты, отметьте Включение пакетов из общих источников, если вы хотите включить пакеты из таких источников, как nuget.org или npmjs.com, и для области, определите, должен ли веб-канал быть ограничен вашим проектом или целой организацией.

  4. После завершения работы выберите Создать.

    Снимок экрана с показанными вариантами для создания нового фида в Azure DevOps Services.

  1. Войдите на сервер Azure DevOps и перейдите в проект.

  2. Выберите Артефакты, затем выберите Создать фид.

  3. Укажите имя для вашего веб-канала, выберите опцию "Видимость", определяющую, кто может просматривать ваши пакеты, отметьте Включение пакетов из общих источников, если вы хотите включить пакеты из таких источников, как nuget.org или npmjs.com, и для области, определите, должен ли веб-канал быть ограничен вашим проектом или целой организацией.

  1. После завершения работы выберите Создать.

    Снимок экрана, который показывает выборы для создания нового канала в Azure DevOps 2022.

Примечание.

По умолчанию служба сборки для проекта (например, projectName Build Service (orgName)) назначает роль веб-канала и средства чтения upstream (Collaborator) при создании нового веб-канала.

Публикация пакетов

  1. Выполните действия, описанные в Настройки проекта, чтобы пройти аутентификацию с вашим каналом, если вы этого не сделали, а затем перейдите к следующему шагу.

  2. Войдите в организацию Azure DevOps и перейдите к проекту.

  3. Выберите артефакты и нажмите кнопку "Подключиться к каналу".

  4. Выберите twine в левой области навигации. Если вы используете Azure Artifacts с twine впервые, убедитесь, что установили необходимые компоненты, выбрав Получить средства и выполнив указанные шаги.

  5. Добавьте файл pypirc в домашний каталог и вставьте в него предоставленный фрагмент кода. Файл должен выглядеть примерно так, как показано в следующем фрагменте кода. Если у вас уже есть pypirc с учетными данными для общедоступного индекса PyPI, рекомендуется удалить раздел [pypi], чтобы избежать случайной публикации частных пакетов в PyPI.

    [distutils]
    Index-servers =
    FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    
  6. Выполните следующую команду в каталоге вашего проекта, чтобы создать исходные и wheel-дистрибутивы.

    python setup.py sdist bdist_wheel
    
  7. Выполните следующую команду, чтобы опубликовать пакет. Используйте флаг -r REPOSITORY_NAME, чтобы убедиться, что частные пакеты не были случайно опубликованы в PyPI.

    twine upload -r REPOSITORY_NAME dist/*
    

Внимание

Для использования artifacts-keyring необходимо иметь twine версии 1.13.0 или выше. Дополнительные сведения см. в разделе "Требования к использованию".