Skip to main content
 首页 » 编程设计

python之是否可以预先创建一个用于 hudson 构建的 virtualenv

2025年05月04日11fff_TT

我正在遵循 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 到一个预先准备好的工作区?

请您参考如下方法:

这里有几个选项:

  1. 在您的源存储库中有一个归档文件,它会爆炸到 虚拟环境/pip 安装。您需要使 virtualenv 起 pip 可重定位。

  2. 使用任何适合的 SCM 选项,以免清除工作区 构建之间(例如使用 svn update,或者不检查 Mercurial 的 Clean Build 选项)。然后将安装命令保留在构建脚本中,但将它们放在 在 if 语句下,因此它们仅在(例如).pip_installed 文件不存在或设置了构建参数时运行。

    <
  3. 您也许可以获得 Clone Workspace插件来做你 想。但那是另一种 SCM,我猜你可能不会 需要,因为 Hudson 不会从多个 SCM checkout (有关解决此问题的一些想法,请参见 this previous question)。

将 pip 配置设置为从 包的本地缓存。

pip -f http://localhost/packages/