如何在TravisCI上缓存Django项目的需求?

2024-09-27 04:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

随着Travis CI不断发展和扩展其特性集,它自然变得越来越好用。我最近谈到了“加速构建”。我正在开发的Django项目的构建需要大约25-30分钟。几乎一半的时间花在创建virtualenv上,即安装项目的需求。另一半时间用于实际测试运行。在

在减少测试运行时间方面有一些努力。然而,我在想,是否可以通过缓存或捆绑项目需求来实现更大的提速。至于Plone,似乎有some options,因为它使用buildout。我也在看WAD。当然,当缓存需求时,它们需要在需求更新时失效。在

有没有人通过缩短安装时间来提高(Django)项目的Travis构建速度?在


Tags: 项目djangotraviscivirtualenvplonebuildout时间
3条回答

更新这是Travis的第一类特性:http://blog.travis-ci.com/2013-12-05-speed-up-your-builds-cache-your-dependencies/

我刚才一直在玩这个,看起来你可以像这样缓存virtualenv站点包(更新python版本的路径):

cache:
  directories:
    - /home/travis/virtualenv/python2.7/lib/python2.7/site-packages

有一个小问题,它没有缓存bin或{}目录。我尝试过缓存整个virtualenv目录,但是对于通过git安装到src目录的依赖项,我得到了奇怪的错误。在

你的旧要求仍然是无效的。如果您从需求中删除了某些内容,它将在virtualenv中持久化,因此您要么使用pip(pip remove foo)显式地删除它,要么等到Travis创建一个API使缓存失效。。。在

另一个选项是对pip使用 download-cache选项,然后将该目录添加到缓存中:

^{pr2}$

这将使下载速度更快,但它仍然需要编译和安装所有的需求!在

使用pip 7:

cache:
  directories:
    - $HOME/.pip-cache/

install:
  - pip install  upgrade pip
  - pip install -r requirements.txt  cache-dir $HOME/.pip-cache

这几年来变得更容易了。最新的方法是:

cache: pip

就这样。在

相关问题 更多 >

    热门问题