ホームページ >バックエンド開発 >Python チュートリアル >Azure パイプライン: UV キャッシュ
UV を使用して Docker のビルドを高速化する方法についてはすでに書きました。今日は、Python プロジェクトの CI ビルドを高速化する方法を簡単に説明したいと思います。
uv は、ほとんどのプロジェクトでドロップイン代替品として機能する優れた pip 代替品です。 pip よりも Python パッケージの解決とインストールがはるかに速く、特に CI パイプライン (または Docker ビルド) に適しています。パイプラインが高速化すると、開発期間が短縮され、生産性が向上します。
パイプラインに同じパッケージをインストールし続ける場合は、パイプラインの実行全体で uv が内部的に使用するキャッシュを再利用した方がよいでしょう。
そのためには、uv venv と uv pip install ... を実行する前、および uv をインストールした後に、次のコードを azure-pipelines.yml に挿入する必要があります。
- bash: | echo "##vso[task.setvariable variable=uv-cache-path;]$(uv cache dir)" - task: Cache@2 displayName: Cache uv inputs: key: uv cache | "$(python.version)" path: $(uv-cache-path)
これにより、UV キャッシュへのパスを含む新しい変数 uv-cache-path が設定され、後続のパイプライン実行のためにこのパスがキャッシュされます。使用する Python のバージョンを python.version という変数に保存するとします。これを、使用している Python バージョンに直接置き換えることもできます。ただし、引用符で囲むとタスクがバージョンをパスとして解釈してしまうため、必ずバージョンを引用符で囲んでください。
最後に、新しい機能を使用して、アップロードする前にキャッシュを削除できます。これにより、キャッシュのファイル サイズが減少し、キャッシュのアップロードとダウンロードが高速になり、おそらく時間を節約できます。パイプライン ジョブが終了する前に、UV Cache prune --ci を実行する必要があります:
- script: uv cache prune --ci
要約すると、Python パイプラインを高速化したい場合、最初のステップは uv を使用することです。 pip ... 呼び出しを uv pip ... に置き換えるだけで、パイプラインがどれだけ高速になるかを確認できます。
大規模なビルド手順を必要とする多くのパッケージをインストールする場合は、UV キャッシュを再利用する価値があるかもしれません。そのために、Azure Pipelines によって提供される Cache@2 タスクを使用できます。
以上がAzure パイプライン: UV キャッシュの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。