2

我用于 plone 项目的 buildout.cfg 使用 kgs(已知良好的集合):

[buildout]
extends = http://dist.plone.org/release/4.2/versions.cfg

由于它是网络依赖项,因此离线时构建不起作用。

$ bin/buildout -o
While:
  Initializing.
Error: Couldn't download 'http://dist.plone.org/release/4.2/versions.cfg' in offline mode.

在离线模式下工作并拥有 kgs 参考的最佳做法是什么?我假设有一些方法可以缓存外部引用。当然我可以在本地使用缓存代理,但恕我直言,必须有一个更轻量级的解决方案。

4

3 回答 3

5

您可以使用扩展缓存(也可以在不同机器之间共享,例如您的开发机器和生产机器)。

设置

添加一个文件以~/.buildout/default.cfg启用此机器上所有构建的缓存:

[buildout]
extends-cache = /path/to/your/extends/cache

或者您可以在特定的构建中进行相同的配置。

这将在您配置的目录中创建具有散列文件名的文件。由于文件名是由扩展的 URL 生成的,因此可以很容易地复制它。因此,如果您在服务器上从来没有互联网连接,您可以在另一台服务器上运行构建extends-cache并复制直接

于 2013-02-16T15:34:31.163 回答
5

我们总是将 KGS URL 下载到本地文件并将其用作扩展:

curl -o plone-versions.cfg http://dist.plone.org/release/4.2.4/versions.cfg

我们的versions.cfg内容如下:

[buildout]
extends = 
    zopeapp-versions.cfg
    ztk-versions.cfg
    zope-versions.cfg
    plone-versions.cfg

我们在文件中添加标题以命名原始源,并注释掉文件中的 URL 扩展名:

# Sourced from http://dist.plone.org/release/4.2.4/versions.cfg
[buildout]
# extends = http://download.zope.org/zopetoolkit/index/1.0.7/zopeapp-versions.cfg
#          http://download.zope.org/Zope2/index/2.13.19/versions.cfg
于 2013-02-16T12:24:35.760 回答
-1

我只是做了一个奇怪的观察,可能很有趣:

更改extends-url

extends = http://dist.plone.org/release/4.2/versions.cfg

extends = http://dist.plone.org/release/4-latest/versions.cfg

会让构建运行没有任何错误(为什么?)

对于您的情况,可能是一个更快的解决方案,但 Martijn 的答案当然是实现可复制的、受控的开发环境的方法。

于 2013-02-16T12:51:38.023 回答