2.7.5 在 GitLab CI/CD 中使用
1分钟内可阅读完
2.7.5 在 GitLab CI/CD 中使用
使用 uv 镜像
Astral 提供了预装 uv 的 Docker 镜像。请选择适合你工作流的变体。
| |
注意
如果你使用 distroless 镜像,则必须指定 entrypoint:
1 2 3 4 5uv: image: name: ghcr.io/astral-sh/uv:$UV_VERSION entrypoint: [""] # ...
缓存
在多次工作流运行之间持久化 uv 缓存可以提升性能。
| |
配置缓存的更多细节请参阅 GitLab 缓存文档。
建议在任务结束时执行 uv cache prune --ci 以减小缓存体积。更多细节请参阅 uv 缓存文档。
使用 uv pip
如果使用 uv pip 接口而不是 uv 项目接口,uv 默认要求存在虚拟环境。要允许把包安装到系统环境,请在所有 uv 调用中加上 --system 标志,或设置 UV_SYSTEM_PYTHON 变量。
UV_SYSTEM_PYTHON 变量可以在不同作用域中定义。关于 GitLab 中变量及其优先级的更多内容可以在这里阅读。
在顶层定义即可对整个工作流启用:
| |
要重新关闭该行为,可以在任意 uv 调用中使用 --no-system 标志。
在持久化缓存时,你可能希望使用 requirements.txt 或 pyproject.toml 作为缓存键文件,而不是 uv.lock。