gpt4 book ai didi

Nix 如何使用替代存储路径进行 CI 缓存

转载 作者:行者123 更新时间:2023-12-05 06:31:32 27 4
gpt4 key购买 nike

许多 CI 提供商为您提供一个目录,其内容在构建过程中保留,您可以将其用作缓存。存储在别处的所有东西都丢失了。这意味着任何在 nix 构建期间创建并放置在 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 在构建期间实际咨询该存储。

最佳答案

是否可以使用类似 nix run --store ~/my-nix nixpkgs.hello -c hello --greeting 'Hi everybody!' 的方式? installation guide指向此类用例的 --store 用法,以及手册中的某些部分:1 , 2 .

可以在 nix runtests 中找到这方面的示例.

还有可能有用的环境变量NIX_STORE_DIR?它记录在 nix-shell --help 中。

Nix 仓库中也有几个问题,这里是 an interesting discussion .

关于Nix 如何使用替代存储路径进行 CI 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51790989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com