Maison  >  Article  >  développement back-end  >  Azure Pipelines : cache UV

Azure Pipelines : cache UV

WBOY
WBOYoriginal
2024-07-25 19:46:00905parcourir

Azure Pipelines: uv Cache

J'ai déjà écrit sur la façon d'accélérer la construction de votre docker avec uv. Aujourd'hui, je souhaite montrer rapidement comment accélérer la construction de votre CI pour un projet Python.

uv est une excellente alternative au pip qui, pour la plupart des projets, fonctionnera comme un remplacement instantané. Il est beaucoup plus rapide de résoudre et d'installer des packages Python que pip, ce qui est particulièrement intéressant pour les pipelines CI (ou les versions Docker). Des pipelines plus rapides signifient un délai de développement plus rapide, ce qui signifie une productivité plus élevée.

Si vous continuez à installer les mêmes packages dans votre pipeline, vous pouvez également réutiliser le cache que uv utilise en interne lors des exécutions du pipeline.

Tâche de cache dans le pipeline

Pour cela, vous devez insérer le code suivant dans votre azure-pipelines.yml avant de lancer uv venv et uv pip install ... et après avoir installé uv :

- 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)

Cela définit une nouvelle variable uv-cache-path avec le chemin d'accès au cache uv, puis il mettra en cache ce chemin pour les exécutions successives du pipeline. Je suppose que vous stockez la version de Python que vous utilisez dans une variable appelée python.version. Vous pouvez également le remplacer directement par la version de Python que vous utilisez. Assurez-vous cependant de conserver les guillemets autour de la version, car sinon la tâche interprétera la version comme un chemin.

Élaguez le cache

Enfin, nous pouvons utiliser une nouvelle fonctionnalité pour élaguer le cache avant de le télécharger. Cela réduira la taille du fichier du cache, ce qui accélérera le téléchargement et le téléchargement du cache et vous fera donc probablement gagner du temps. Vous devez exécuter uv cache prune --ci avant la fin de votre travail de pipeline :

- script: uv cache prune --ci

Résumé

En résumé, si vous souhaitez rendre votre pipeline Python plus rapide, la première étape devrait être d'utiliser uv. Vous pouvez simplement remplacer les appels pip ... par uv pip ... et voir à quel point cela rend votre pipeline plus rapide.

Si vous installez de nombreux packages nécessitant des étapes de construction approfondies, cela vaut peut-être la peine de réutiliser le cache uv. Pour cela, vous pouvez utiliser la tâche Cache@2 fournie par Azure Pipelines.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn