發佈 Python 套件 (CLI)

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

本文會引導您使用 NuGet 命令行介面,將 Python 套件發佈至 Azure Artifacts 摘要。

必要條件

產品 要求
Azure DevOps - Azure DevOps 組織。
- Azure DevOps 項目。
- 下載並安裝 Python。

建立資訊流

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 工件,然後選取 建立新增提要。

  3. 請輸入您的資訊流 名稱 。

  4. 選擇 可見性 設定,以控制哪些人可以檢視摘要中的套件。

  5. 如果你想讓資訊流使用像 nuget.org 或 npmjs.com 這類來源的上游套件,請選擇包含來自常見公開來源的套件。

  6. 在 範圍 中,選擇摘要來源的範圍是目前專案還是整個組織。

  7. 完成後,選取 建立。

    截圖顯示在 Azure DevOps Services 中建立新訂閱源的選項。

  1. 登入您的 Azure DevOps 伺服器,然後移至您的專案。

  2. 選取 工件,然後選取 建立新增提要。

  3. 請輸入您的資訊流 名稱 。

  4. 選擇 可見性 設定,以控制誰可以檢視摘要中的套件。

  5. 如果你想讓資訊流使用像 nuget.org 或 npmjs.com 這類來源的上游套件,請選擇包含來自常見公開來源的套件。

  6. 在 範圍 中,選擇摘要是限定於目前的專案還是整個組織。

  1. 完成後,選取 建立。

    顯示在 Azure DevOps 2022 中建立新摘要時選項的螢幕擷取畫面。

注意

當您建立摘要時,系統會預設將專案的 建置服務 帳戶(例如 projectName 建置服務 (orgName))指派為 摘要和上游讀取者(共同作業者) 角色。

發佈套件

  1. 如果尚未這麼做,請遵循 Project 設定 中的步驟來驗證您的提要,然後繼續進行下一個步驟。

  2. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  3. 選取 工件,然後選取 聯機至提要。

  4. 從左側導覽區域選取twine。 如果這是您第一次使用 twine 搭配 Azure Artifacts,請務必選取 [ 取得工具 ],並按照提供的步驟來安裝必要條件。

  5. 將 pypirc 檔案新增至主目錄,並將所提供的代碼段貼入其中。 您的檔案看起來應該類似下列代碼段。 如果您已經有包含公用 PyPI 索引認證的 pypirc,建議您移除 [pypi] 區段,以避免不小心將私人套件發佈至 PyPI。

    [distutils]
    Index-servers =
    FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    
  6. 在您的專案目錄中執行下列命令,以建立原始碼和 Wheel 軟體發佈包。

    python setup.py sdist bdist_wheel
    
  7. 執行下列命令以發佈您的套件。 使用 -r REPOSITORY_NAME 旗標,以確保您的私人套件不會意外發佈至 PyPI。

    twine upload -r REPOSITORY_NAME dist/*
    

重要

您必須有 twine 1.13.0 或更高版本,才能使用 artifacts-keyring。 如需詳細資訊,請參閱 使用需求 。