Azure Pipelines를 사용하여 Python 패키지 게시

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

개발자는 Azure Pipelines를 사용하여 Azure Artifacts 피드, 공용 레지스트리에 Python 패키지를 게시하거나 파이프라인 아티팩트로 저장할 수 있습니다. 이 문서에서는 다음 방법을 안내합니다.

  • 필수 구성 요소 설치
  • Azure Artifacts 피드에 커넥트
  • Azure Artifacts 피드에 Python 패키지 게시

필수 조건

Azure Artifacts를 사용하여 인증

Python 패키지를 게시하는 데 사용 twine 하려면 먼저 Azure Artifacts 피드를 사용하여 인증해야 합니다. TwineAuthenticate 작업은 환경 변수에 트윈 자격 증명을 PYPIRC_PATH 제공합니다. 이 변수는 파이프라인에서 직접 패키지를 쉽게 게시하는 데 사용됩니다twine .

- task: TwineAuthenticate@1
  inputs:
    artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, artifactFeed: <FEED_NAME>

Important

환경 변수에 PYPIRC_PATH 저장된 자격 증명은 사용자 .ini.conf 파일의 자격 증명을 대체합니다.

파이프라인의 여러 단계에서 여러 TwineAuthenticate 작업을 추가하는 경우 각 추가 작업 실행은 기존 PYPIRC_PATH 환경 변수를 확장(재정의하지 않음)합니다.

Azure Artifacts 피드에 Python 패키지 게시

- script: |
    pip install build
    pip install twine
  displayName: 'Install build and twine'

- script: |
    python -m build -w
  displayName: 'Python build'

- task: TwineAuthenticate@1
  inputs:
    artifactFeed: <PROJECT_NAME/FEED_NAME>
  displayName: 'Twine Authenticate'

- script: |
    python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
  displayName: 'Upload to feed'

참고 항목

Azure Pipelines를 사용하여 피드에 패키지를 게시하려면 프로젝트 컬렉션 빌드 서비스와 프로젝트의 빌드 서비스 ID 모두 피드 설정에 피드 게시자(기여자) 역할이 할당되어 있어야 합니다. 자세한 내용은 권한 관리를 참조하세요.