Azure Pipelines を使用して Python パッケージを発行する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines を使用すると、開発者は Python パッケージを Azure Artifacts フィードや PyPi などのパブリック レジストリに発行できます。 この記事では、Python パッケージを Azure Artifacts フィードに発行する方法について説明します。
前提条件
Azure DevOps organizationとプロジェクト。 まだ作成していない場合は、organizationまたはプロジェクトを作成します。
Azure Artifacts フィード。 まだフィード がない場合は、フィードを作成します。
フィードを使用して認証する
Twine を使用して Python パッケージを発行するには、まず Azure Artifacts フィードで認証する必要があります。 TwineAuthenticate タスクは、PYPIRC_PATH
環境変数に Twine 資格情報を提供します。 この変数は、パイプラインからパッケージを直接発行するためにtwine
によって使用されます。
重要
PYPIRC_PATH
環境変数に格納されている資格情報は、.ini
ファイルおよび .conf
ファイルの資格情報よりも優先されます。
パイプライン内の異なるステージで複数の
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[パイプライン] を選択し、使用するパイプライン定義を選択します。
編集を選択し、次のスニペットを YAML パイプラインに追加します。
steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.x' - task: TwineAuthenticate@1 inputs: artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
Python パッケージをフィードに発行する
Note
Azure Pipelines を使用してフィードにパッケージを発行するには、Project Collection Build Service とプロジェクトの Build Service ID の両方に、フィード設定で フィード パブリッシャー (共同作成者) ロールが割り当てられていることを確認します。 詳細については、「アクセス許可を管理する」を参照してください。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
パイプラインを選択し、次にあなたのパイプライン定義を選択します。
編集を選択し、次のスニペットを YAML パイプラインに追加します。
steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.x' - 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> ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME> displayName: 'Twine Authenticate' - script: | python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl displayName: 'Upload to feed'