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


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

Используйте эту задачу, чтобы обеспечить проверку подлинности pip для клиента, который устанавливает дистрибутивы Python.

Синтаксис

# Python pip authenticate v1
# Authentication task for the pip client used for installing Python distributions.
- task: PipAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeeds: # string. My feeds (select below). 
    #pythonDownloadServiceConnections: # string. Feeds from external organizations. 
    #onlyAddExtraIndex: false # boolean. Don't set primary index URL. Default: false.

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

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

Указывает веб-каналы для проверки подлинности в организации.


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

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


onlyAddExtraIndex - Не задавать URL-адрес первичного индекса
boolean. Значение по умолчанию: false.

Если для этой задачи задано значение true, в качестве основного URL-адреса индекса веб-канал не будет установлен. Все настроенные веб-каналы и конечные точки будут заданы как URL-адреса дополнительных индексов.


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

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

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

Нет.

Remarks

Обеспечивает проверку подлинности pip для клиента, который используется для установки дистрибутивов Python.

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

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

Мой агент находится за веб-прокси. Настроит ли PipAuthenticate pip использование прокси-сервера?

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

Для этого можно:

  • При необходимости no_proxy задайте для переменных http_proxyhttps_proxy среды и параметры прокси-сервера. Дополнительные сведения см. в разделе Официальные рекомендации Pip . Это часто используемые переменные, которые также могут использовать другие средства, отличные от Python (например, curl).

    Внимание!

    Переменные http_proxy и no_proxy в операционных системах Linux и Mac чувствительны к регистру и должны быть строчными. Попытка использовать переменную Azure Pipelines для задания переменной среды не будет работать, так как она будет преобразована в верхний регистр. Вместо этого задайте переменные среды на компьютере локального агента и перезапустите агент.

  • Добавьте параметры прокси-сервера в файл конфигурации pip с помощью proxy ключа.
  • Используйте параметр командной --proxy строки, чтобы указать прокси-сервер в форме [user:passwd@]proxy.server:port.

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

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

Примеры

Скачивание дистрибутивов Python из веб-каналов Azure Artifacts без консультации с официальным реестром Python

В этом примере мы задаем проверку подлинности для скачивания из частных веб-каналов Azure Artifacts. Задача проверки подлинности создает переменные PIP_INDEX_URL среды и PIP_EXTRA_INDEX_URL , необходимые для скачивания дистрибутивов. Задача задает переменные с учетными данными проверки подлинности, которые задача создает для предоставленных веб-каналов Артефактов. HelloTestPackageдолжен присутствовать в или myTestFeed2; в myTestFeed1 противном случае установка завершится ошибкой.

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

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # Provide list of feed names which you want to authenticate.
    # Project scoped feeds must include the project name in addition to the feed name.
    artifactFeeds: 'project1/myTestFeed1, myTestFeed2'

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

Обратитесь к официальному реестру Python, а затем скачайте дистрибутивы Python из веб-каналов Azure Artifacts.

В этом примере мы настраиваем проверку подлинности для скачивания из частного веб-канала Azure Artifacts, но сначала обратитесь к pypi . Задача проверки подлинности создает переменную PIP_EXTRA_INDEX_URLсреды , которая содержит учетные данные проверки подлинности, необходимые для скачивания дистрибутивов. HelloTestPackage будет загружаться из веб-каналов, прошедших проверку подлинности, только если они отсутствуют в pypi.

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

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # Provide list of feed names which you want to authenticate.
    # Project scoped feeds must include the project name in addition to the feed name.
    artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
    # Setting this variable to "true" will force pip to get distributions from official python registry first and fallback to feeds mentioned above if distributions are not found there.
    onlyAddExtraIndex: true

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

Скачивание дистрибутивов Python с других частных серверов Python

В этом примере мы задаем проверку подлинности для скачивания с внешнего сервера распространения Python. Создайте запись подключения к службе pip для внешней службы. Задача проверки подлинности использует подключение службы для создания переменной PIP_INDEX_URLсреды , которая содержит учетные данные проверки подлинности, необходимые для скачивания дистрибутивов. HelloTestPackage должен присутствовать в подключении pypitest службы; в противном случае установка завершится ошибкой. Если вы хотите сначала обратиться к pypi , задайте для значение onlyAddExtraIndextrue.

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # In this case, name of the service connection is "pypitest". 
    pythonDownloadServiceConnections: pypitest

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

Требования

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