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
.
pip で認証する Azure Artifacts フィードのコンマ区切りの一覧を指定します。
onlyAddExtraIndex
-
プライマリ インデックス URL を設定しない
boolean
. 既定値: false
.
このタスクが true
に設定されている場合、フィードはプライマリ インデックス URL として設定されません。 構成されたすべてのフィード/エンドポイントは、追加のインデックス URL として設定されます。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
何一つ。
備考
Python ディストリビューションのインストールに使用する pip
クライアントの認証を提供します。
- パイプラインでこのタスクを実行する必要がある場合
- パイプラインをアップストリーム ソースから保存できるようにする場合はどうすればよいですか?
- エージェントが Web プロキシの背後にあります。 PipAuthenticate は自分のプロキシを使用するように pip を設定しますか?
- パイプラインが別のプロジェクト のフィードにアクセスする必要がある
パイプラインでこのタスクを実行する必要があるタイミング
pip を使用して、認証されたパッケージ ソース (Azure Artifacts など) に Python ディストリビューションをダウンロードする前に、このタスクを実行する必要があります。 他の順序付け要件はありません。 このタスクを複数回呼び出した場合、資格情報はスタックされません。 タスクを実行するたびに、以前に保存されていた資格情報が消去されます。
パイプラインでアップストリーム ソースから保存できるようにする場合はどうすればよいでしょうか。
アクセス許可テーブル を確認して、パイプラインに必要なアクセス許可を決定します。 次に、これらのアクセス許可を付与する Feed and Upstream Reader (Collaborator)
アクセス許可が必要です。
エージェントが Web プロキシの背後にあります。 PipAuthenticate は自分のプロキシを使用するように 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
は、myTestFeed1
または myTestFeed2
のいずれかに存在する必要があります。それ以外の場合、インストールは失敗します。
パイプラインが実行されている場所とは異なるプロジェクト内にあるプロジェクト スコープのフィードの場合は、プロジェクトとフィードにパイプラインのプロジェクトのビルド サービスへのアクセス権を手動で付与する必要があります。
- 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
を作成します。
パイプラインが実行されている場所とは異なるプロジェクト内にあるプロジェクト スコープのフィードの場合は、プロジェクトとフィードにパイプラインのプロジェクトのビルド サービスへのアクセス権を手動で付与する必要があります。
- 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