Python パッケージを Azure Artifacts フィードにアップロードしようとしてハマった話を一つ。
Azure Pipelines から Python パッケージをアップロードするには、
- task: TwineAuthenticate@1
inputs:
artifactFeed: FEED
- script: |
python -m twine upload -r FEED --config-file $(PYPIRC_PATH) dist/*
のようなステップを書くと説明されているのですが、 Azure Artifacts に新たに作成するフィードは、これを書いている時点で、すべてプロジェクトスコープ フィード (project-scoped feeds) になっていて、
- task: TwineAuthenticate@1
inputs:
artifactFeed: PROJECT/FEED
とプロジェクト名を指定する必要があったわけです。これが分かるまで何度も試行錯誤を繰り返してしまいました。
現実的には、次のように変数参照にするのが便利だと思いますね。
- task: TwineAuthenticate@1
inputs:
artifactFeed: $(System.TeamProject)/FEED