Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022
Azure Artifacts 讓開發者能使用單一串流來承載自己的套件,以及從公共登錄檔(如 PyPI.org)安裝的套件。當啟用上游來源時,Azure Artifacts 會自動儲存由協作者或更高級別從上游來源安裝的任何套件副本。 本文將引導你如何設定專案,並使用命令列從 Python 套件索引(PyPI)中取得 Python 套件。
必要條件
| 產品 | 要求 |
|---|---|
| Azure DevOps | - Azure DevOps 組織。 - Azure DevOps 項目。 - 下載並安裝 Python。 |
建立一個新的資料流並新增公開的上游
如果你還沒有訂閱源,請依照以下步驟建立一個並啟用上游來源。 否則,就跳到 下一步 ,將 PyPI 作為上游來源加入。
登入 Azure DevOps,然後流覽至您的專案。
選取 [工件],然後選取 [建立饋送]。
輸入一個具有描述性的 名稱,並設定其 可視性。 指定 範圍,然後勾選 上游來源 的核取框,以包含來自公開登錄檔的套件。
完成後,選取建立。
在上游新增 PyPI
如果你在建立訂閱源時啟用 了上游來源 ,PyPI 應該會自動被加入為上游來源。 否則,您可以按照以下步驟手動新增它:
登入 Azure DevOps,然後流覽至您的專案。
選擇 Artifacts,然後選擇齒輪圖示的
以開啟 Feed Settings。選取 [ 上游來源],然後選取 [新增上游]。
選擇「公開來源」,然後從下拉選單中選擇 PyPI(https://pypi.org/)。
選擇 新增,然後在右上角選擇 儲存 ,以套用你的變更。
使用您的資料流進行驗證
確保你已經安裝了 Python 的前置條件,然後依照以下步驟連接你的訂閱源:
執行以下指令來升級你的 Python 套件管理器:
python -m pip install --upgrade pip執行下列命令以安裝 Azure Artifacts Keyring:
pip install keyring artifacts-keyring建立具有封裝和讀取範圍的>,以對 Azure DevOps 進行驗證。 你第一次連接 Azure DevOps 時,會被要求輸入憑證。 輸入任何使用者名稱的值,並用你的 PAT 作為密碼。 這些憑證會被快取在本地,下次驗證時會重複使用。
請前往你的專案目錄,然後建立一個虛擬環境:
python -m venv <VIRTUAL_ENVIRONMENT_NAME>在你的虛擬環境中,建立一個 pip.ini 檔案(Windows)或 pip.conf 檔案(macOS/Linux),然後新增以下片段。 將佔位符取代為適當的值。 不要將此檔案提交到公開倉庫,因為它包含了你的個人存取權杖。
專案範圍的摘要:
[global] extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/組織範圍的資訊流:
[global] extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
從 PyPI 安裝套件
現在你已經用你的 feed 認證了,就可以像平常一樣從 PyPI 上游安裝套件。 你安裝的任何套件都會自動儲存到你的 Azure Artifacts feed。
在這個例子中,你會安裝 requests,一個 Python 常用的 HTTP 函式庫。
備註
要從上游來源儲存套件,您必須具備 Feed 和 Upstream Reader(協作者) 角色或更高級別。 詳情請參閱 管理權限 。
打開命令提示字元,進入你的專案目錄,然後啟動你的虛擬環境。 將佔位符替換為您稍早建立的虛擬環境名稱:
<YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate執行以下指令以安裝 PyPI 的請求 套件。
pip install requests安裝完成後,Azure Artifacts 會將套件副本儲存到你的訂閱串流。 請前往你的動態頁面確認包裹是否可用,如下圖所示。