在离线模式下使用kgs进行plone buildout

Ste*_*ter 2 offline plone buildout

我对plone项目的buildout.cfg使用了kgs(已知的好集):

[buildout]
extends = http://dist.plone.org/release/4.2/versions.cfg
Run Code Online (Sandbox Code Playgroud)

由于它是网络依赖关系,因此在脱机时buildout不起作用.

$ bin/buildout -o
While:
  Initializing.
Error: Couldn't download 'http://dist.plone.org/release/4.2/versions.cfg' in offline mode.
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ers 5

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

curl -o plone-versions.cfg http://dist.plone.org/release/4.2.4/versions.cfg
Run Code Online (Sandbox Code Playgroud)

在哪里我们versions.cfg读:

[buildout]
extends = 
    zopeapp-versions.cfg
    ztk-versions.cfg
    zope-versions.cfg
    plone-versions.cfg
Run Code Online (Sandbox Code Playgroud)

我们在文件中添加一个标题来命名原始源,并注释掉文件中的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
Run Code Online (Sandbox Code Playgroud)

  • @StefanArmbruster:我们没有打扰它; 当然,你可以自动化它,它只是文本和URL.但是创建一个buildout或升级Plone版本将涉及的不仅仅是缓存这些文件.:-) (2认同)

jon*_*one 5

您可以使用扩展缓存(也可以在不同的计算机(如开发计算机和生产计算机)之间共享).

建立

添加文件以~/.buildout/default.cfg启用此计算机上所有扩展的缓存:

[buildout]
extends-cache = /path/to/your/extends/cache
Run Code Online (Sandbox Code Playgroud)

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

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