Azure Pipelines を使用して Python パッケージを発行する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines を使用すると、開発者は Python パッケージを Azure Artifacts フィードやパブリック レジストリに発行したり、パイプライン成果物として保存したりできます。 この記事では、次の方法を通してご案内します。
- 前提条件をインストールする
- Azure Artifacts フィードに接続する
- Python パッケージを Azure Artifacts フィードに発行する
前提条件
Azure DevOps organizationとプロジェクト。 まだ作成していない場合は、organizationまたはプロジェクトを作成します。
Azure Artifacts フィード。 まだフィード がない場合は、フィードを作成します。
Azure Artifacts で認証する
twine
を使用して Python パッケージを発行するには、まず Azure Artifacts フィードで認証する必要があります。 TwineAuthenticate タスクは、PYPIRC_PATH
環境変数に Twine 資格情報を提供します。 この変数は、パイプラインからのパッケージの直接発行を容易にするための twine
によって使用されます。
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, artifactFeed: <FEED_NAME>
重要
PYPIRC_PATH
環境変数に格納されている資格情報は、.ini
ファイルと .conf
ファイルの資格情報よりも優先されます。
パイプライン内の異なるステージで複数の TwineAuthenticate タスクを追加すると、追加のタスクの実行ごとに既存のPYPIRC_PATH
環境変数が拡張されます(オーバーライドされません)。
Python パッケージを Azure Artifacts フィードに発行する
- script: |
pip install build
pip install twine
displayName: 'Install build and twine'
- script: |
python -m build -w
displayName: 'Python build'
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME>
displayName: 'Twine Authenticate'
- script: |
python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
displayName: 'Upload to feed'
Note
Azure Pipelines を使ってパッケージをフィードに発行するには、プロジェクト コレクション ビルド サービスとプロジェクトのビルド サービス ID をフィード設定のフィード発行者 (共同設定者) ロールに割り当てる必要があります。 詳細については、「アクセス許可を管理する」を参照してください。