首页 > 后端开发 > Python教程 > Azure Pipelines:uv 缓存

Azure Pipelines:uv 缓存

WBOY
发布: 2024-07-25 19:46:00
原创
927 人浏览过

Azure Pipelines: uv Cache

我已经写过有关如何使用 uv 加快 docker 构建速度的文章。今天,我想快速展示如何更快地构建 Python 项目的 CI。

uv 是一个很好的 pip 替代品,对于大多数项目来说,它可以作为直接替代品。它在解析和安装 python 包方面比 pip 快得多,这对于 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-cache-path ,其中包含 uv 缓存的路径,然后它将缓存该路径以供连续的管道运行。我假设您将使用的 python 版本存储在名为 python.version 的变量中。您也可以直接将其替换为您使用的 python 版本。确保保留版本周围的引号,否则任务会将版本解释为路径。

修剪缓存

最后,我们可以使用一项新功能在上传之前修剪缓存。这将减少缓存的文件大小,从而使缓存的上传和下载速度更快,从而可能节省您的时间。您应该在管道作业结束之前运行 uv cache prune --ci:

- script: uv cache prune --ci
登录后复制

概括

总之,如果你想让你的Python管道更快,第一步应该是使用uv。您只需将 pip ... 调用替换为 uv pip ... 即可,看看这会使您的管道速度提高多少。

如果您安装了很多需要大量构建步骤的软件包,那么重新使用 uv 缓存可能是值得的。为此,您可以使用 Azure Pipelines 提供的 Cache@2 任务。

以上是Azure Pipelines:uv 缓存的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板