提问人:Erez Levy 提问时间:11/16/2023 更新时间:11/16/2023 访问量:17
在 GitHub Actions 中使用 pip install 的 Docker 层缓存无法缓存
Docker Layer Caching with pip install in GitHub Actions fails to cache
问:
我在 GitHub Actions 工作流中遇到 Docker 层缓存问题。具体来说,缓存似乎没有按预期工作,因为我使用 pip 安装 Poetry 的 Dockerfile 中的一个步骤。我的 Dockerfile 的相关部分如下所示:
Docker文件 复制代码
...Dockerfile 的其他部分...
安装 Poetry
运行 pip install --no-cache-dir poetry==1.7.0
...Dockerfile 的其余部分...
当我使用命令 docker build 在同一台计算机上本地构建 Docker 映像时,层缓存按预期工作,并且 pip 安装步骤在构建之间缓存,因为没有其他任何更改。
但是,当我在同一台计算机上的自托管运行器上的 GitHub Actions 工作流中运行构建时,pip 安装步骤似乎没有被缓存,并且每次都从头开始运行,从而显着增加了构建时间。
在我的 github 操作中,我使用了 docker build 操作,即 cache-to 和 cache-from 我们进行缓存的方式。 我已经验证了 Docker 和 GitHub Actions runner 的版本在两种环境中是相同的,并且 Dockerfile 中的其他步骤似乎被正确缓存。
为什么 pip 安装步骤未缓存在 GitHub Actions 工作流程中,如何解决此问题以缩短构建时间?
我也尝试过使用 numpy 包进行 pip 安装,但它也没有缓存它,并且我尝试在自托管主机和 ubuntu 最新的运行器 github 上运行它,出于为什么它没有被缓存在 ci 中的想法
答: 暂无答案
评论