【发布时间】:2023-03-31 20:43:01
【问题描述】:
所以,使用我的.travis.yml,我正在通过apt-get 安装一些软件包,下载时间不会太长,但安装时间很长。
有没有办法让 Travis CI 记住已安装的软件包,这样我就不必在每次构建时都从头开始安装它们?
【问题讨论】:
标签: caching github travis-ci apt
所以,使用我的.travis.yml,我正在通过apt-get 安装一些软件包,下载时间不会太长,但安装时间很长。
有没有办法让 Travis CI 记住已安装的软件包,这样我就不必在每次构建时都从头开始安装它们?
【问题讨论】:
标签: caching github travis-ci apt
似乎没有简单方便的方法来缓存您需要通过apt-get 安装的所有软件包。根据Caching Dependencies and Directories 文档,Travis CI 目前只为 Bundler、CocoaPods、Yarn(以及其他一些)提供“便利”缓存。
但是!如果您可以确定apt-get 将您需要的每个软件包安装在哪里(因为安装位置因一个软件包而异),您可以按照Arbitrary directories 文档中的步骤单独缓存每个安装目录。
我希望这会有所帮助。如果您有任何其他问题,请告诉我,我很乐意尽我所能提供帮助。干杯!
【讨论】:
.travis.yml 文件中为我想要缓存和回显文件路径的每个依赖项添加dpkg 命令。 (2) 通过在我的 Travis 构建日志中找到它们来记下每个依赖项的位置。 (2-b) 我也可能会为几个构建重复这个过程,以确保安装位置不会改变。 (3) 然后我会从我的配置文件中删除dpkg 命令,并在Arbitrary directories 文档之后的缓存部分中添加文件路径。瞧——这应该行得通。
如果您需要的软件包在Travis' whitelist 中,您可以通过添加到您的 .travis.yml 来更简单地安装它们:
addons:
apt:
packages:
- cmake
- package-xy
并缓存它们:
cache:
apt: true
【讨论】: