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


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.

Указывает разделенный запятыми список веб-каналов Артефактов Azure для проверки подлинности с помощью pip.


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

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


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

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


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

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

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

Никакой.

Замечания

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

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

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

Что делать, если я хочу, чтобы мои конвейеры могли сохраняться из вышестоящих источников?

Проверьте таблицу разрешений , чтобы определить, какие разрешения требуется иметь в конвейере. Затем определите, какие удостоверения необходимо предоставить этим разрешениям. Чтобы сохранить пакеты из вышестоящих источников, удостоверение должно Feed and Upstream Reader (Collaborator) разрешений.

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

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

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

  • Задайте переменные среды http_proxy, https_proxy и при необходимости no_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 должен присутствовать в myTestFeed1 или myTestFeed2; В противном случае установка завершится ошибкой.

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

- 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, но сначала необходимо ознакомиться с 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 сначала обращаться к ним, задайте для onlyAddExtraIndex значение true.

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