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.
- Когда в конвейере следует выполнить эту задачу?
- Что делать, если я хочу, чтобы мои конвейеры могли сохраняться из вышестоящих источников?
- Мой агент находится за веб-прокси. Будет ли PipAuthenticate настроить pip для использования прокси-сервера?
- Мой конвейер должен получить доступ к веб-каналу в другом проекте
Когда в конвейере следует запустить эту задачу?
Эта задача должна выполняться перед тем, как скачать дистрибутивы 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 или более поздней версии |
Категория задач | Пакет |