PipAuthenticate@1 - Python pip 驗證 v1 工作

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

Syntax

# 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.

指定要在組織中以身分驗證的摘要。


pythonDownloadServiceConnections - 外部組織的摘要
string.

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


onlyAddExtraIndex - 請勿設定主要索引 URL
boolean. 預設值:false

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


工作控制項選項

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

輸出變數

無。

備註

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

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

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

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

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

若要這樣做,您可以:

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

    警告

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

  • 使用 proxy 金鑰將 Proxy 設定新增至pip 設定檔。
  • --proxy使用命令列選項,以格式 [user:passwd@]proxy.server:port 指定 Proxy。

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

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

範例

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

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

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

- 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 ,其中包含下載散發套件所需的驗證認證。 HelloTestPackage 只有在 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 ,請將 設定 onlyAddExtraIndextrue

- 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
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任意
可設定變數 任意
代理程式版本 2.144.0 或更新版本
工作類別 套件
需求 描述
管線類型 YAML、傳統組建、傳統版本
在 上執行 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任意
可設定變數 任意
代理程式版本 2.120.0 或更新版本
工作類別 套件