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


TwineAuthenticate@1 — задача отправки двойника Python для проверки подлинности версии 1

Используйте эту задачу для проверки подлинности отправки дистрибутивов Python с помощью twine. Добавьте -r FeedName/EndpointName --config-file $(PYPIRC_PATH) в команду отправки twine. Для веб-каналов, присутствующих в этой организации, используйте имя канала в качестве репозитория (-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 name (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.
# 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.


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

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


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

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


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

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

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

Нет.

Замечания

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

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

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

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

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

Мой конвейер должен получить доступ к веб-каналу в другом проекте

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

Примеры

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

Публикация распространения Python в веб-канале Артефактов Azure

В этом примере мы устанавливаем проверку подлинности для публикации в частном веб-канале Артефактов Azure. Задача проверки подлинности создает файл .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. Создайте запись подключения службы twine для 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
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 2.144.0 или более поздней версии
Категория задач Пакет
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 2.120.0 или более поздней версии
Категория задач Пакет