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


TwineAuthenticate@1 — задача проверки подлинности python twine версии 1

Используйте эту задачу для проверки подлинности отправки дистрибутивов Python с помощью twine. Добавьте -r FeedName/EndpointName --config-file $(PYPIRC_PATH) в команду twine upload. Для веб-каналов, присутствующих в этой организации, используйте имя веб-канала в качестве репозитория (-r). В противном случае используйте имя конечной точки, определенное в подключении службы.

Синтаксис

# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeed: # string. My feed (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.

Входные данные

artifactFeed - Мой веб-канал (выберите ниже)
string.

Указывает имя веб-канала артефакта Azure для проверки подлинности с помощью twine. Веб-канал проверки подлинности должен присутствовать в организации. Для веб-каналов с областью проекта используйте синтаксис projectName/feedNameSelect.


pythonUploadServiceConnection - Веб-канал из внешних организаций
string.

Имя подключения к службе двойников из внешней организации для проверки подлинности с помощью twine. Учетные данные, хранящиеся в конечной точке, должны иметь разрешения на отправку пакетов.


Параметры управления задачами

Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Предоставляет twine учетные данные для переменной PYPIRC_PATH среды для области сборки. Это позволяет публиковать пакеты Python в веб-каналах с twine помощью из сборки.

Когда в конвейере следует выполнять эту задачу?

Эта задача должна быть выполнена перед использованием twine для отправки дистрибутивов Python в аутентифицированный источник пакета, например Azure Artifacts. Другие требования к упорядочению отсутствуют. Несколько вызовов этой задачи не будут стекать учетные данные. При каждом выполнении задачи удаляются все ранее сохраненные учетные данные.

Мой агент находится за веб-прокси. Будет ли TwineAuthenticate настраивать twine для использования прокси-сервера?

Нет. Хотя сама эта задача будет работать за веб-прокси, для использования которого настроен агент, она не настраивает двойник для использования прокси-сервера.

Моему конвейеру требуется доступ к веб-каналу в другом проекте

Если конвейер выполняется в проекте, отличном от проекта, в котором размещен веб-канал, необходимо настроить другой проект для предоставления доступа на чтение и запись к службе сборки. Дополнительные сведения см. в статье Разрешения пакета в Azure Pipelines .

Примеры

В следующих примерах показано, как опубликовать дистрибутив Python в веб-канале Azure Artifacts и официальном реестре Python.

Публикация дистрибутива Python в веб-канале Azure Artifacts

В этом примере мы настраиваем проверку подлинности для публикации в частном веб-канале Azure Artifacts. Задача проверки подлинности создает .pypirc файл, содержащий учетные данные проверки подлинности, необходимые для публикации дистрибутива в веб-канале.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the feed is 'myTestFeed' in the project 'myTestProject'. Project is needed because the feed is project scoped.
    artifactFeed: myTestProject/myTestFeed
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r myTestFeed --config-file $(PYPIRC_PATH) dist/*.whl

Входные artifactFeed данные будут содержать проект и имя веб-канала, если веб-канал имеет область проекта. Если веб-канал находится в области организации, необходимо указать только имя веб-канала. Подробнее.

Публикация дистрибутива Python в официальном реестре Python

В этом примере мы настраиваем проверку подлинности для публикации в официальном реестре Python. Создайте запись подключения к службе двойников для pypi. Задача проверки подлинности использует это подключение службы для создания .pypirc файла, содержащего учетные данные проверки подлинности, необходимые для публикации дистрибутива.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the service connection is "pypitest".
    pythonUploadServiceConnection: pypitest
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.144.0 или более поздней версии
Категория задач Пакет
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.120.0 или более поздней версии
Категория задач Пакет