PipAuthenticate@1 - Python pip 인증 v1 작업
이 작업을 사용하여 Python 배포를 설치하는 pip
클라이언트에 대한 인증을 제공합니다.
통사론
# 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
.
pip를 사용하여 인증할 Azure Artifacts 피드의 쉼표로 구분된 목록을 지정합니다.
외부 조직의 pythonDownloadServiceConnections
- 피드
string
.
pip를 사용하여 인증하기 위해 외부 조직의 이름에
onlyAddExtraIndex
-
기본 인덱스 URL 설정하지 마세요.
boolean
. 기본값: false
.
이 작업이 true
설정되면 피드가 기본 인덱스 URL로 설정되지 않습니다. 구성된 모든 피드/엔드포인트는 추가 인덱스 URL로 설정됩니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에도 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.
출력 변수
없음.
발언
Python 배포를 설치하는 데 사용되는 pip
클라이언트에 대한 인증을 제공합니다.
- 파이프라인에서 이 작업을 실행해야 하는 경우는 언제인가요?
- 파이프라인을 업스트림 원본에서 저장할 수 있게 하려면 어떻게 해야 하나요?
- 내 에이전트가 웹 프록시 뒤에 있습니다. PipAuthenticate에서 내 프록시를 사용하도록 pip를 설정하나요?
- 내 파이프라인은 다른 프로젝트 피드에 액세스해야 합니다.
파이프라인에서 이 작업을 언제 실행해야 하나요?
Pip를 사용하여 Azure Artifacts와 같은 인증된 패키지 원본에 Python 배포를 다운로드하기 전에 이 작업을 실행해야 합니다. 다른 주문 요구 사항은 없습니다. 이 작업의 여러 호출은 자격 증명을 스택하지 않습니다. 작업을 실행할 때마다 이전에 저장된 자격 증명이 지워집니다.
내 파이프라인을 업스트림 원본에서 저장할 수 있게 하려면 어떻게 해야 하나요?
사용 권한 테이블 확인하여 파이프라인에 부여할 권한을 확인합니다. 그런 다음, 해당 권한을 부여할 Feed and Upstream Reader (Collaborator)
권한이 필요합니다.
내 에이전트가 웹 프록시 뒤에 있습니다. PipAuthenticate에서 내 프록시를 사용하도록 pip를 설정하나요?
아니요. 이 작업 자체는 에이전트가사용하도록 구성된
이렇게 하려면 다음을 수행할 수 있습니다.
- 환경 변수를
http_proxy
,https_proxy
설정하고 필요에 따라 프록시 설정으로no_proxy
. 자세한 내용은 Pip 공식 지침 참조하세요. 이러한 변수는 일반적으로 사용되는 변수이며, 다른 비 Python 도구(예: curl)도 사용할 수 있습니다.주의
http_proxy
및no_proxy
변수는 Linux 및 Mac 운영 체제에서 대/소문자를 구분하며 소문자여야 합니다. Azure Pipelines 변수를 사용하여 환경 변수를 설정하려고 하면 대문자로 변환되므로 작동하지 않습니다. 대신 자체 호스팅 에이전트의 컴퓨터에서 환경 변수를 설정하고 에이전트를 다시 시작합니다. -
proxy
키를 사용하여 pip 구성 파일 파일에 프록시 설정을 추가합니다. -
--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 레지스트리를 참조한 다음 Azure Artifacts 피드에서 Python 배포판 다운로드
이 예제에서는 프라이빗 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 먼저 참조하려면 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