对于我们的productoin Plone部署,我们将从一个Zope实例切换到两个。我定义了下面的buildout结构:
buildout.cfg
[buildout]
extends = app.cfg
... some environment specific stuffapp.cfg
[buildout]
extends = base.cfg
parts =
zope2
productdistros
instance1
instance2
zopepy
supervisor
[instance1]
<= instance
http-address = 18081
[instance2]
<= instance
http-address = 18082base.cg
[buildout]
parts =
zope2
productdistros
instance
zopepy
... bulk of buildout configuration suitable for both server and development对此进行测试时,我预计此构建配置将导致现有实例部分被删除,并替换为instance1和instance2。但是,实例零件不会被删除-它仍然可以在bin和parts目录中找到。
[zopetest@dev home]$ bin/buildout
Updating zope2.
Updating fake eggs
Updating productdistros.
Updating instance1.
Updating instance2.
Updating instance.
Updating zopepy.
Updating supervisor.我在一个不同的zope实例上有一个非常相似的设置,它从一开始就是这样配置的,它没有“实例”部分。
我们运行的是zc.buildout 1.4.4和Python2.4.6构建Plone 3.3.6。
我尝试了以下方法,没有做任何更改:*升级到buildout 1.5.2 *从base.cfg中删除部件分配
发布于 2015-04-17 21:38:45
这实际上是由于zc.buildout automatic part selection特性造成的
当通过变量替换或通过初始化配方引用包含配方的部分时,该部分将被视为一个部分,并添加到引用部分之前的部分列表中
我有以下部分
[zopepy]
# For more information on this step and configuration options see:
# http://pypi.python.org/pypi/zc.recipe.egg
recipe = zc.recipe.egg
eggs = ${instance:eggs}因为它引用了“实例”部分,所以“实例”被包括在零件列表中。
为了修复它,我将其更改为复制-粘贴实例的蛋值
eggs =
Plone
${buildout:eggs}然后运行bin/buildout
发布于 2012-02-03 07:14:25
这是plone.recipe.zope2instance的一个“特性”。传统上,该方法避免删除它为运行plone而创建的实例和脚本(无论出于什么原因:要么是糟糕的设计,要么是深思熟虑的决定,我不确定)。
不管它有什么价值,从4.2.0版本开始就有了support for generating non-plone scripts (类似于zc.recipe.egg),并且这些脚本都得到了正确的管理。请参见:
所有血淋淋的细节。(我认为“特性”是install方法不返回元组,除非您使用的是脚本,在这种情况下会返回包含脚本的元组。)
https://stackoverflow.com/questions/9113624
复制相似问题