我正在遵循 hudson/python/virtualenv CI 解决方案的大纲 described at heisel.org但这一步真的很烦人,那是配置专为 CI 运行创建的 virtualenv 的部分:
pip install -q -E ./ve -r requirements.pip
pip install -q -E ./ve -r requirements-test.pip
这需要大量的时间来运行,每次源文件更改时,我们最终都会重新下载大量数据。
是否可以在 Hudson 中创建模板工作区,这样就不会 check out 到一个空的工作区,而是 check out 到一个预先准备好的工作区?
请您参考如下方法:
这里有几个选项:
在您的源存储库中有一个归档文件,它会爆炸到 虚拟环境/pip 安装。您需要使 virtualenv 起 pip 可重定位。
使用任何适合的 SCM 选项,以免清除工作区 构建之间(例如使用 svn update,或者不检查 Mercurial 的 Clean Build 选项)。然后将安装命令保留在构建脚本中,但将它们放在 在
<if语句下,因此它们仅在(例如).pip_installed文件不存在或设置了构建参数时运行。您也许可以获得 Clone Workspace插件来做你 想。但那是另一种 SCM,我猜你可能不会 需要,因为 Hudson 不会从多个 SCM checkout (有关解决此问题的一些想法,请参见 this previous question)。
将 pip 配置设置为从 包的本地缓存。
pip -f http://localhost/packages/
