Автоматизировать paster create -t ​​plone3_buildout

Я хочу автоматизировать процесс plone3_buildout.

Объяснение: По умолчанию (тот, который я использую) способ построения сайта Plone использует paster, вот так:

paster create -t plone3_buildout

Это задает мне несколько вопросов, а затем создать по умолчанию buildout для сайта.

Что я хочу: я хочу автоматизировать этот процесс, используя buildout, мой buildout выполнит это paster Команда, введите мои предварительно сконфигурированные значения для пастера.

Я не нашел рецепт, который может сделать это. Если у кого-то есть идея, как это сделать, пожалуйста, поделитесь информацией.

Если есть рецепт, который может передавать значения интерактивным командам (с известным выводом, как с командой plone3_buildout), это также будет полезно.

2 ответа

Решение

paster create команда может принять --config вариант. Это позволяет создавать или использовать файл с ответами на вопросы.

$ paster create -t plone3_buildout --config=saved.cfg my-buildout
...
answer questions
...

Теперь будет buildout.config файл в текущем каталоге.

$ cat saved.cfg
[pastescript]
eggifiedplone__eval__ = True
zope_user = admin
expert_mode = all
zope2_install = 
plone_products_install = 
tarballs__eval__ = False
egg_plugins__eval__ = []
plone_version = 3.3.4
debug_mode = off
plus = +
dot = .
zope_password = 
http_port__eval__ = 8080
egg = test_buildout
z29tarballs__eval__ = False
eggifiedzope__eval__ = False
verbose_security = off

Вы можете изменить этот файл и запустить paster с помощью той же команды.

$ paster create -t plone3_buildout --config=saved.cfg my-new-buildout

На этот раз он не задаст вам никаких вопросов. Все ответы придут из конфигурационного файла. В последней версии ZopeSkel (2.15+) также есть способ сохранить эти настройки в $HOME/.zopeskel,

Существует утилита под названием "ожидание", предназначенная для автоматизации интерактивных операций командной строки.

http://expect.nist.gov/

Другой подход заключается в изменении или клонировании и настройке сценария и шаблона plone3_buildout в пакете ZopeSkel.

Однако в этот момент, если вы жестко программируете все переменные, вы также можете создать компоновку один раз, вставить в систему управления версиями и скопировать / клонировать ее для создания новых экземпляров.

Другие вопросы по тегам