PipAuthenticate@1 - Python pip 인증 v1 작업

이 작업을 사용하여 Python 배포를 설치하는 클라이언트에 pip 대한 인증을 제공합니다.

Syntax

# 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로 설정됩니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.

출력 변수

없음

설명

Python 배포를 pip 설치하는 데 사용되는 클라이언트에 대한 인증을 제공합니다.

파이프라인에서 이 작업을 실행해야 하는 경우는 언제인가요?

이 작업은 pip를 사용하여 Azure Artifacts와 같은 인증된 패키지 원본에 Python 배포를 다운로드하기 전에 실행해야 합니다. 다른 주문 요구 사항은 없습니다. 이 작업의 여러 호출은 자격 증명을 스택하지 않습니다. 작업을 실행할 때마다 이전에 저장된 자격 증명이 지워집니다.

내 에이전트가 웹 프록시 뒤에 있습니다. PipAuthenticate에서 내 프록시를 사용하도록 pip를 설정하나요?

아니요. 이 작업 자체는 에이전트가 사용하도록 구성된 웹 프록시 뒤에서 작동하지만 프록시를 사용하도록 pip를 구성하지는 않습니다.

이렇게 하려면 다음을 수행할 수 있습니다.

  • 환경 변수 를 http_proxyhttps_proxy 설정하고 필요에 따라 no_proxy 프록시 설정으로 설정합니다. 자세한 내용은 Pip 공식 지침을 참조하세요. 이러한 변수는 일반적으로 사용되는 변수이며, 다른 비 Python 도구(예: curl)도 사용할 수 있습니다.

    주의

    no_proxy 변수는 http_proxy Linux 및 Mac 운영 체제에서 대/소문자를 구분하며 소문자여야 합니다. Azure Pipelines 변수를 사용하여 환경 변수를 설정하려고 하면 대문자로 변환되므로 작동하지 않습니다. 대신 자체 호스팅 에이전트의 컴퓨터에서 환경 변수를 설정하고 에이전트를 다시 시작합니다.

  • 키를 사용하여 proxypip 구성 파일 파일에 프록시 설정을 추가합니다.
  • --proxy 명령줄 옵션을 사용하여 형식[user:passwd@]proxy.server:port의 프록시를 지정합니다.

내 파이프라인이 다른 프로젝트의 피드에 액세스해야 합니다.

파이프라인이 피드를 호스트하는 프로젝트와 다른 프로젝트에서 실행되는 경우 빌드 서비스에 대한 읽기/쓰기 액세스 권한을 부여하도록 다른 프로젝트를 설정해야 합니다. 자세한 내용은 Azure Pipelines의 패키지 권한을 참조하세요.

예제

공식 Python 레지스트리를 참조하지 않고 Azure Artifacts 피드에서 Python 배포판 다운로드

이 예제에서는 프라이빗 Azure Artifacts 피드에서 다운로드하기 위한 인증을 설정합니다. 인증 작업은 배포를 PIP_INDEX_URLPIP_EXTRA_INDEX_URL 다운로드하는 데 필요한 환경 변수를 만듭니다. 태스크는 제공된 아티팩트 피드에 대해 태스크에서 생성하는 인증 자격 증명으로 변수를 설정합니다. HelloTestPackage는 또는 myTestFeed2myTestFeed1 있어야 합니다. 그렇지 않으면 설치가 실패합니다.

파이프라인이 실행되는 위치와 다른 프로젝트에 있는 프로젝트 범위 피드의 경우 프로젝트와 피드에 파이프라인의 빌드 서비스에 대한 액세스 권한을 수동으로 부여해야 합니다.

- 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를 참조하려면 를 로 true설정합니다onlyAddExtraIndex.

- 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

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 2.144.0 이상
작업 범주 패키지
요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 2.120.0 이상
작업 범주 패키지