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
.
組織内に存在するとして認証するフィードを指定します。
pythonDownloadServiceConnections
- 外部組織からのフィード
string
.
pip で認証する外部組織からの pip サービス接続 名のコンマ区切りの一覧を指定します。
onlyAddExtraIndex
- プライマリ インデックス URL を設定しない
boolean
. 既定値: false
。
このタスクが に true
設定されている場合、プライマリ インデックス URL としてフィードは設定されません。 構成されたすべてのフィード/エンドポイントは、追加のインデックス URL として設定されます。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
Python ディストリビューションのインストールに pip
使用されるクライアントの認証を提供します。
パイプラインでこのタスクを実行する必要があるのはいつですか?
pip を使用して、Azure Artifacts などの認証済みパッケージ ソースに Python ディストリビューションをダウンロードする前に、このタスクを実行する必要があります。 その他の順序付けの要件はありません。 このタスクの複数の呼び出しでは、資格情報はスタックされません。 タスクを実行するたびに、以前に保存されていた資格情報が消去されます。
エージェントが Web プロキシの背後にあります。 PipAuthenticate は自分のプロキシを使用するように pip を設定しますか?
いいえ。 このタスク自体は 、エージェントが使用するように構成された Web プロキシの背後で機能しますが、プロキシを使用するように pip を構成しません。
これを行うには、次の操作を行います。
- 環境変数
http_proxy
https_proxy
を設定し、必要にno_proxy
応じてプロキシ設定に設定します。 詳細については、 Pip の公式ガイドラインに関する ページを参照してください。 これらは一般的に使用される変数であり、他の Python 以外のツール (curl など) も使用できます。注意
http_proxy
およびno_proxy
変数は、Linux および Mac オペレーティング システムでは大文字と小文字が区別され、小文字である必要があります。 Azure Pipelines 変数を使用して環境変数を設定しようとすると、大文字に変換されるため、機能しません。 代わりに、セルフホステッド エージェントのマシンに環境変数を設定し、エージェントを再起動します。 - キーを使用して 、プロキシ設定を pip 構成ファイル ファイル に
proxy
追加します。 - コマンド ライン オプションを
--proxy
使用して、 形式[user:passwd@]proxy.server:port
でプロキシを指定します。
パイプラインが別のプロジェクトのフィードにアクセスする必要がある
フィードをホストしているプロジェクトとは異なるプロジェクトでパイプラインが実行されている場合は、他のプロジェクトを設定して、ビルド サービスへの読み取り/書き込みアクセス権を付与する必要があります。 詳細については、「 Azure Pipelines でのパッケージのアクセス許可 」を参照してください。
例
公式の Python レジストリを参照せずに Azure Artifacts フィードから Python ディストリビューションをダウンロードする
この例では、プライベート Azure Artifacts フィードからダウンロードするための認証を設定しています。 認証タスクは環境変数 PIP_INDEX_URL
を作成し、 PIP_EXTRA_INDEX_URL
ディストリビューションをダウンロードするために必要です。 タスクは、指定された Artifacts フィードに対してタスクによって生成される認証資格情報を使用して変数を設定します。 HelloTestPackage
は または myTestFeed2
のいずれかにmyTestFeed1
存在する必要があります。それ以外の場合、インストールは失敗します。
パイプラインが実行されているプロジェクトとは異なるプロジェクト内にあるプロジェクト スコープのフィードの場合は、プロジェクトとフィードにパイプラインのプロジェクトのビルド サービスへのアクセス権を手動で付与する必要があります。
- 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 を参照する場合は、 を に設定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、クラシック ビルド、クラシック リリース |
上で実行 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.144.0 以上 |
タスクのカテゴリ | Package |
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
上で実行 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.120.0 以上 |
タスクのカテゴリ | Package |