共用方式為


PipAuthenticate@1 - Python pip 驗證 v1 工作

使用此工作為安裝 Python 散發套件的 pip 用戶端提供驗證。

語法

# Python pip authenticate v1
# Authentication task for the pip client used for installing Python distributions.
- task: PipAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeeds: # string. My feeds (select below). 
    #pythonDownloadServiceConnections: # string. Feeds from external organizations. 
    #onlyAddExtraIndex: false # boolean. Don't set primary index URL. Default: false.

輸入

artifactFeeds - 我的摘要 (選取下方)
string

指定以逗號分隔的 Azure Artifacts 摘要清單,以 pip 進行驗證。


從外部組織 pythonDownloadServiceConnections - 摘要
string

指定 pip 服務連線的逗號分隔清單, 外部組織的名稱向 pip 進行驗證。


onlyAddExtraIndex - 不要設定主要索引 URL
boolean。 預設值:false

如果這項工作設定為 true,則不會將摘要設定為主要索引 URL。 所有已設定的摘要/端點都會設定為額外的索引 URL。


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性

輸出變數

沒有。

言論

提供用來安裝 Python 散發套件之 pip 客戶端的驗證。

我的管線中何時應該執行此工作?

此工作必須先執行,才能使用 pip 將 Python 散發套件下載到已驗證的套件來源,例如 Azure Artifacts。 沒有其他排序需求。 此工作的多個調用不會堆疊認證。 工作的每個執行都會清除任何先前儲存的認證。

如果我希望管線能夠從上游來源儲存,該怎麼辦?

檢查 許可權數據表,以判斷您想要管線擁有哪些許可權。 然後,判斷您想要授與這些許可權 哪個 身分識別。 若要從上游來源儲存套件,您的身分識別需要 Feed and Upstream Reader (Collaborator) 許可權。

我的代理程式位於 Web Proxy 後方。 PipAuthenticate 是否會設定 pip 以使用我的 Proxy?

不。 雖然此工作本身會在 Web Proxy 後方運作,但代理程式已設定為使用,但不會將 pip 設定為使用 Proxy。

若要這樣做,您可以:

  • 將環境變數 http_proxyhttps_proxy,並選擇性地 no_proxy 至您的 Proxy 設定。 如需詳細資訊,請參閱 pip 官方指導方針。 這些是常用的變數,其他非 Python 工具(例如 curl)也可以使用。

    謹慎

    Linux 和 Mac 操作系統上的 http_proxyno_proxy 變數會區分大小寫,而且必須小寫。 嘗試使用 Azure Pipelines 變數來設定環境變數將無法運作,因為它會轉換成大寫。 相反地,請在自我裝載代理程式的計算機上設定環境變數,然後重新啟動代理程式。

  • 使用 金鑰,將 Proxy 設定新增至 proxy 檔案。
  • 使用 --proxy 命令列選項,在 表單中指定 proxy [user:passwd@]proxy.server:port

我的管線需要存取不同專案中的摘要

如果管線是在與裝載摘要的專案不同的項目中執行,您必須設定其他專案,以授與建置服務的讀取/寫入許可權。 如需詳細資訊,請參閱 Azure Pipelines 中的 套件許可權。

例子

從 Azure Artifacts 摘要下載 Python 散發套件,而不需諮詢官方 Python 登錄

在此範例中,我們會設定從私人 Azure Artifacts 摘要下載的驗證。 驗證工作會建立環境變數 PIP_INDEX_URL 和下載散發套件所需的 PIP_EXTRA_INDEX_URL。 工作會設定具有驗證認證的變數,工作會針對提供的 Artifacts 摘要產生。 HelloTestPackage 必須存在於 myTestFeed1myTestFeed2中;否則,安裝將會失敗。

對於與管線執行所在的不同專案中的專案範圍摘要,您必須手動為專案和摘要提供管線專案的建置服務存取權。

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # Provide list of feed names which you want to authenticate.
    # Project scoped feeds must include the project name in addition to the feed name.
    artifactFeeds: 'project1/myTestFeed1, myTestFeed2'

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

請參閱官方 Python 登錄,然後從 Azure Artifacts 摘要下載 Python 散發套件

在此範例中,我們會設定從私人 Azure Artifacts 摘要下載的驗證,但會先參閱 pypi。 驗證工作會建立環境變數 PIP_EXTRA_INDEX_URL,其中包含下載散發套件所需的驗證認證。 只有在 pypi中沒有 pypi 時,才會從已驗證的摘要下載

對於與管線執行所在的不同專案中的專案範圍摘要,您必須手動為專案和摘要提供管線專案的建置服務存取權。

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # Provide list of feed names which you want to authenticate.
    # Project scoped feeds must include the project name in addition to the feed name.
    artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
    # Setting this variable to "true" will force pip to get distributions from official python registry first and fallback to feeds mentioned above if distributions are not found there.
    onlyAddExtraIndex: true

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

從其他私人 Python 伺服器下載 Python 散發套件

在此範例中,我們會設定從外部 Python 散發伺服器下載的驗證。 為外部服務建立 pip 服務連線 專案。 驗證工作會使用服務連線來建立環境變數 PIP_INDEX_URL,其中包含下載散發套件所需的驗證認證。 HelloTestPackage 必須存在於 pypitest 服務連線中;否則,安裝將會失敗。 如果您要先諮詢 pypi,請將 onlyAddExtraIndex 設定為 true

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # In this case, name of the service connection is "pypitest". 
    pythonDownloadServiceConnections: pypitest

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

要求

要求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 2.144.0 或更新
工作類別
要求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 2.120.0 或更新
工作類別