다음을 통해 공유


TwineAuthenticate@1 - Python 꼬기 업로드 인증 v1 작업

이 작업을 사용하여 twine을 사용하여 Python 배포의 업로드를 인증합니다. 꼬기 업로드 명령에 를 추가 -r FeedName/EndpointName --config-file $(PYPIRC_PATH) 합니다. 이 조직에 있는 피드의 경우 피드 이름을 리포지토리(-r)로 사용합니다. 그렇지 않으면 서비스 연결에 정의된 엔드포인트 이름을 사용합니다.

Syntax

# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeed: # string. My feed (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.

입력

artifactFeed - 내 피드(아래 선택)
string.

twine로 인증할 Azure 아티팩트의 피드 이름을 지정합니다. 인증 피드는 조직 내에 있어야 합니다. 프로젝트 범위 피드의 경우 구문을 projectName/feedNameSelect사용합니다.


pythonUploadServiceConnection - 외부 조직의 피드
string.

twine을 사용하여 인증할 외부 조직의 꼬기 서비스 연결 이름입니다. 엔드포인트에 저장된 자격 증명에는 패키지 업로드 권한이 있어야 합니다.


작업 제어 옵션

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

출력 변수

없음

설명

빌드 범위에 대한 환경 변수에 자격 증명 PYPIRC_PATH 을 제공합니다twine. 이렇게 하면 빌드에서 피드 twine 에 Python 패키지를 게시할 수 있습니다.

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

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

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

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

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

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

예제

다음 예제에서는 Azure Artifacts 피드 및 공식 Python 레지스트리에 Python 배포를 게시하는 방법을 보여 줍니다.

Azure Artifacts 피드에 Python 배포 게시

이 예제에서는 프라이빗 Azure Artifacts 피드에 게시하기 위한 인증을 설정합니다. 인증 작업은 피드에 .pypirc 배포를 게시하는 데 필요한 인증 자격 증명이 포함된 파일을 만듭니다.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the feed is 'myTestFeed' in the project 'myTestProject'. Project is needed because the feed is project scoped.
    artifactFeed: myTestProject/myTestFeed
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r myTestFeed --config-file $(PYPIRC_PATH) dist/*.whl

artifactFeed 피드의 범위가 프로젝트인 경우 입력에는 프로젝트 및 피드 이름이 포함됩니다. 피드의 범위가 조직인 경우 피드 이름만 제공해야 합니다. 자세히 알아봅니다.

공식 Python 레지스트리에 Python 배포 게시

이 예제에서는 공식 Python 레지스트리에 게시하기 위한 인증을 설정합니다. pypi에 대한 꼬기 서비스 연결 항목을 만듭니다. 인증 작업은 해당 서비스 연결을 사용하여 배포를 .pypirc 게시하는 데 필요한 인증 자격 증명이 포함된 파일을 만듭니다.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the service connection is "pypitest".
    pythonUploadServiceConnection: pypitest
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl

요구 사항

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