共用方式為


使用 Azure Pipelines 發佈 Python 套件

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

Azure Pipelines 可讓開發人員將 Python 套件發佈至 Azure Artifacts 摘要和公用登錄,例如 PyPi。 本文將引導您瞭解如何將 Python 套件發佈至 Azure Artifacts 饋送。

必要條件

使用資料饋送進行驗證

若要使用 twine 發佈 Python 套件,您必須先向 Azure Artifacts 資料流進行身份驗證。 TwineAuthenticate 工作會將對應項認證PYPIRC_PATH提供給環境變數。 然後,twine 會使用此變數直接從管線發佈套件。

重要

儲存在 PYPIRC_PATH 環境變數中的認證優先於 .ini.conf 檔案中的認證。

如果您在管線的不同階段新增多個 TwineAuthenticate 工作,則每次工作執行都會擴充現有的 PYPIRC_PATH 環境變數 (而非覆蓋)

  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 將套件發佈至摘要,請確定 專案集合組建服務 和專案的 組建服務 身分識別都會在摘要設定中指派 摘要發行者(參與者) 角色。 如需詳細資訊,請參閱 管理許可權

  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'