2013-07-18 36 views
1

我正在使用Jenkins CI作为我的django项目。对于Django-Jenkins集成,我使用的是django-jenkins应用程序。在Jenkins的构建步骤中,我创建一个新的virtualenv并使用需求文件安装每个构建的所有依赖关系。但是,这会使构建非常缓慢,因为必须从PyPI镜像中下载所有依赖项的全新副本,即使自上次构建以来依赖项中没有任何更改。所以我开始使用内置的本地缓存来设置PIP_DOWNLOAD_CACHE环境变量。但整个构建过程仍然非常缓慢,需要超过10分钟。有什么办法可以加速整个过程?也许通过缓存编译的依赖关系或其他东西?如何在使用pip安装需求时加速jenkins构建过程

回答

0

为什么每次构建时都会创建一个新的virtualenv?你应该只能创建一个,并且只需要使用. /path/to/venv/bin/activate作为'执行shell脚本'构建步骤(假设在这里使用linux)来激活它。然后,如果您需要安装新的依赖项,您可以自行激活venv,并安装新的软件包。

0

只要您的requirements.txt文件更改,只需安装新的virtualenv。这可以通过一些shell命令轻松完成。我们正在做一些类似的项目。在Jenkins外壳窗口中,我们有(在svn之后):

touch changed.txt 
stat -c %Y project/requirements.txt > changed1.txt 
diff -q changed.txt changed1.txt || echo "DO YOUR PIP --upgrade HERE!"