如何为 Gitlab CI 缓存“poetry install”?

2024-02-25

有没有办法缓存poetry installGitlab CI 中的命令(.gitlab-ci.yml)?

例如,在node yarn有一种方法可以缓存yarn install (https://classic.yarnpkg.com/lang/en/docs/install-ci/ https://classic.yarnpkg.com/lang/en/docs/install-ci/ Gitlab部分)这使得阶段变得更快。


GitLab 只能缓存工作目录中的东西 https://docs.gitlab.com/ee/ci/yaml/index.html#cache和诗歌默认情况下将包存储在其他地方 https://python-poetry.org/docs/configuration/#virtualenvspath:

将在其中创建虚拟环境的目录。默认为{cache-dir}/virtualenvs ({cache-dir}\virtualenvs在 Windows 上)。

在我的机器上,cache-dir is /home/chris/.cache/pypoetry.

您可以使用the virtualenvs.in-project option https://python-poetry.org/docs/configuration/#virtualenvsin-project要改变这种行为:

如果设置为 true,则将在名为的文件夹中创建 virtualenv 并预期.venv在项目的根目录中。

所以,像这样的东西应该在你的gitlab-ci.yml:

before_script:
  - poetry config virtualenvs.in-project true

cache:
  paths:
    - .venv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 Gitlab CI 缓存“poetry install”? 的相关文章

随机推荐

  • 连接两列中具有相同值的两行

    这是我的桌子的打印屏幕图像 我有一个名为 table 的 MySQL 表 当我写下 SELECT FROM table 在 while 循环中 我想获得一次相同的 fikraNo 和 maddeNo 值 但是如果 fikraNo 和 mad
  • 使用 ODBC 连接 SQLite,无需注册数据库

    是否可以在 C 中连接到 SQLite 并使用 ODBC API 而无需在 ODBC 中注册数据库 我有使用 ODBC 与数据库通信的代码 但不想使用 SQLite 进行重写 也不想注册新的 ODBC 连接 您应该能够在不更改任何代码的情况
  • firebase中的数据排序

    我正在存储一个score对于我在 firebase 中的应用程序的每个用户 user name score 我想显示一个排行榜 其中包含前 10 位用户的姓名和分数 并保持实时更新 实现这一目标的最佳方法是什么 查看排行榜示例以了解执行此操
  • 如何获取所有Windows组?

    我写这个是为了获取特定用户所属的组 DirectoryEntry AD new DirectoryEntry WinNT Environment MachineName computer DirectoryEntry user AD Chi
  • 用户控件回发在更新面板中不起作用

    我有一个带有更新面板的母版页
  • 到同一个 Razor 页面的多个路由

    背景 我的 Asp Net Core 3 1 网站中有一个名为 SignupAndApply 的剃刀页面 它实际上是注册身份页面的复制和粘贴 但是 有一些附加字段 允许可选的 applyid 作为路由的一部分传递 如果我传递 applyId
  • 如何将 Angular CLI 升级到最新版本

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Using ng version I got 角度 cli 1 0 0 这不是可用的最新
  • 改进您的构建过程

    或者 当一开始就没有太多的构建流程时 实际上建立了一个构建流程 目前 这几乎就是我的团队面临的情况 我们主要进行网络应用程序开发 但目前不进行桌面开发 即使对于我们普通的应用程序 软件部署也是丑陋且笨拙的 而且在我加入这个团队 和公司 的两
  • 是否可以在我的网络应用程序中使用 Google Talk 的音频聊天服务?

    我正在用 PHP 构建一个应用程序 我想知道是否可以在我的 Web 应用程序中使用 Google Talk 的音频聊天服务 是的你可以 Google 将 Google talk 定义为 开放式 IM 服务 以便您可以将自己的客户端应用程序连
  • 在同一端口上运行 Angular 和 ASP.NET Web API

    我目前正在使用 Angular 向运行 ASP NET 的 API 服务器发出 API 调用 但是 对于角度开发 我有一个跨域问题 我使用的是 localhost 在生产版本中 它们都将使用 IIS 在同一域下运行 有没有办法在 ASP N
  • 如何根据某些条件更改 jinja2 条目的颜色? (使用烧瓶)

    我刚刚完成了烧瓶教程 http flask pocoo org docs 0 12 tutorial 逐步创建博客 Web 应用程序 这些条目通过 jinja 模板呈现 ul class entries for entry in entri
  • 在NearProtocol中,如何迁移合约状态

    假设有一个用near sdk rs编写的合约 已部署 其状态定义为 near bindgen derive BorshDeserialize BorshSerialize pub struct NFT pub tokens Unordere
  • 获取找不到符号:来自 ant 的 getSystemService 方法

    我刚刚开始使用 android ant 给了我以下错误 compile java 44 cannot find symbol javac symbol method getSystemService java lang String jav
  • C++20 中的 CTAD 和指定初始值设定项

    我已经在本文中表达了对 CTAD 与指定初始化程序的混淆question https stackoverflow com questions 57886451 c20 designated initializers with templat
  • 如何设置数组的默认值(php)

    e g arr array k1 gt 1 k2 gt 2 k3 gt 3 如果我想获取 arr k4 意外索引 有一条通知 Notice undefined index 那么 我可以为数组设置一个默认值吗 就像 ruby 的哈希值一样 h
  • (viewConroller.view removeFromSuperview)线程:1 EXC_BAD_ACCESS(代码=1,地址= 0x6000000008)

    嗨 抱歉 我的英语不好 您好 我有下一期 我创建 2 个按钮 第一个按钮创建一个视图控制器并将其视图添加到其他视图控制器 第二个按钮我释放创建的视图控制器并从父级中删除视图 如果我点击得更快 两个按钮就会崩溃 并显示类似帖子标题中的消息 这
  • 如何判断上传的文件是图片还是其他文件?

    在我的网络应用程序中 我有一个图像上传模块 我想检查上传的文件是否是图像文件或任何其他文件 我在服务器端使用Java 图像被读作BufferedImage在java中 然后我将其写入磁盘ImageIO write 我该如何检查Buffere
  • 启用颜色混合图层后,是否可以将非英文字符的 UILabel 设为绿色?

    我有一个带有自定义单元格的表格视图 我尝试通过将单元格内的所有子视图设为绿色来优化它Color Blended Layer在模拟器中检查 当背景UILabel单元格中设置为白色 let title UILabel contentView a
  • MailTo 链接中的重音字符损坏

    我正在尝试创建一个 mailto 链接 其中包含法语重音字符作为主题和电子邮件正文 HTML 和 URI 编码字符都不起作用 这是我的代码 a href SEND EMAIL a 如果没有 URI 编码 也会出现相同的结果 a href S
  • 如何为 Gitlab CI 缓存“poetry install”?

    有没有办法缓存poetry installGitlab CI 中的命令 gitlab ci yml 例如 在node yarn有一种方法可以缓存yarn install https classic yarnpkg com lang en d