다음을 통해 공유


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

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

Azure Pipelines를 사용하면 개발자가 Python 패키지를 Azure Artifacts 피드 및 PyPi와 같은 공용 레지스트리에 게시할 수 있습니다. 이 문서에서는 Azure Artifacts 피드에 Python 패키지를 게시하는 방법을 안내합니다.

필수 조건

피드를 사용하여 인증

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

Important

PYPIRC_PATH 환경 변수에 저장된 자격 증명이 .ini 파일 및 .conf 파일보다 우선합니다.

파이프라인의 여러 단계에서 여러 TwineAuthenticate 태스크를 추가하는 경우, 각 태스크 실행은 기존의 환경 변수를 덮어쓰지 않고 확장합니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 파이프라인선택한 다음 파이프라인 정의를 선택합니다.

  3. 편집을 선택한 다음 YAML 파이프라인에 다음 코드 조각을 추가합니다.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - task: TwineAuthenticate@1
      inputs:
        artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
    

피드에 Python 패키지 게시

참고 항목

Azure Pipelines를 사용하여 피드에 패키지를 게시하려면, Project Collection Build Service 및 사용자 프로젝트의 Build Service ID가 피드 설정에서 피드 게시자(기여자) 역할이 할당되어 있는지 확인하세요. 자세한 내용은 권한 관리를 참조하세요.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 파이프라인을 선택한 후, 파이프라인 정의를 선택합니다.

  3. 편집을 선택한 다음 YAML 파이프라인에 다음 코드 조각을 추가합니다.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - 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>                ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
      displayName: 'Twine Authenticate'
    
    - script: |
        python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
      displayName: 'Upload to feed'