часть "instance" не удаляется сборкой при переходе на 2 экземпляра Plone с использованием расширения секции buildout - PullRequest
0 голосов
/ 02 февраля 2012

Мы переключаемся с одного на два экземпляра Zope для развертывания нашего продукта в Plone. У меня определена следующая структура сборки:

buildout.cfg

[buildout]
extends = app.cfg
... some environment specific stuff

app.cfg

[buildout]
extends = base.cfg

parts =
    zope2
    productdistros
    instance1
    instance2
    zopepy
    supervisor

[instance1]
<= instance
http-address = 18081

[instance2]
<= instance
http-address = 18082

base.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 с Python 2.4.6, собирая Plone 3.3.6.

Я пробовал следующее без изменений: * обновление до версии 1.5.2 * удаление назначения частей из base.cfg

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

Это «особенность» plone.recipe.zope2instance .Традиционно рецепт избегал удаления экземпляров и сценариев, которые он создает для запуска plone (по какой-либо причине: плохой дизайн или обдуманное решение, я не уверен)..0 * поддерживается генерация неплонных сценариев (аналог zc.recipe.egg), и эти сценарии управляются правильно.См:

для всех кровавых деталей.(Я считаю, что «особенность» заключается в том, что метод установки не возвращает кортеж, если только вы не используете скрипты, и в этом случае возвращается кортеж, содержащий скрипты.)

0 голосов
/ 17 апреля 2015

Это было на самом деле из-за zc.buildout автоматического выбора детали функция

Когда упоминается секция с рецептом, либо путем замены переменной, либо путем инициализациирецепт, раздел обрабатывается как часть и добавляется в список деталей перед ссылочной частью

У меня был следующий раздел

[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}

Как он ссылался на раздел «instance»«Экземпляр» был включен в список деталей.

Чтобы исправить, я изменил его, скопировав и вставив значение яйца в экземпляр

eggs =
    Plone
    ${buildout:eggs}

, а затем запустил bin / buildout

...