nix - Nix 如何使用替代存储路径进行 CI 缓存
问题描述
许多 CI 提供程序为您提供了一个目录,其内容在构建中保留,您可以将其用作缓存。存储在其他地方的所有内容都会丢失。这意味着在 nix-build 期间创建的放置在 nix 存储 ( /nix/store
) 中的任何人工制品都将丢失。我试图弄清楚如何说服 nix 更喜欢其他缓存目录而不是全局/nix/store
. 但是文档有点缺乏。
到目前为止我已经尝试过:
- 添加
file:///the/path
到替代者,然后添加nix copy --to
该路径。但是我发现 nix 只在该目录中创建一些元数据文件并将实际派生复制到/nix/store
. 那不是我想要的。 - 使用
local?root=/the/path
而不是 file:// url(顺便说一句,这种语法在任何地方都没有记录,我只在一个 github 问题中找到它!)。这使得 nix 将整个派生复制到该文件夹,但我无法弄清楚如何说服nix-build
在构建期间实际咨询该商店。
解决方案
推荐阅读
- c# - 如何从 3 位 ISO 国家代码中获取 3 位/字母货币代码
- flutter - itemBulder 跳转到下一项
- linux - 我们能否 mmap /dev/mem 为容器内的 dmidecode 提供预期输出
- c# - 实体框架 DbContext 和延迟加载
- javascript - 加载并显示有条件的数据,但不满足条件
- c# - 如何使用 AutoMapper 中的自定义逻辑从其他属性映射属性?
- android - 如何在材质按钮的一侧添加边框颜色?
- python - Airflow KubernetesExecutor 调度程序 kube watch 进程死亡
- angular - 如何在 Ionic 4 中使用 Firebase 处理刷新令牌?
- e2e-testing - 赛普拉斯测试项目清单。没有收到任何物品时出错?