1

我想自动化 plone3_buildout 的过程。

说明:构建克隆站点的默认(我使用的)方式是使用粘贴,如下所示:

paster create -t plone3_buildout

这会问我几个问题,然后buildout为该站点创建一个默认值。

我想要什么:我想使用buildout. 我buildout将执行此paster命令,将我预先配置的值输入到贴纸中。

我还没有找到可以做到这一点的食谱。如果有人知道如何做到这一点,请分享信息。

如果有一个配方可以将值提供给交互式命令(具有已知输出,例如使用 plone3_buildout 命令),那也会很有用。

4

2 回答 2

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

您可以修改此文件并使用相同的命令运行 paste。

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

这一次它不会问你任何问题。所有答案都来自配置文件。最新的 ZopeSkel (2.15+) 还可以将这些设置存储在$HOME/.zopeskel.

于 2010-10-08T03:41:07.100 回答
1

有一个名为“expect”的实用程序,专为自动化交互式命令行操作而设计。

http://expect.nist.gov

另一种方法是修改或克隆和自定义 ZopeSkel 包中的 plone3_buildout 脚本和模板。

但是,此时,如果您对所有变量进行硬编码,您不妨创建一次构建,放入版本控制,然后复制/克隆它以创建新实例。

于 2010-05-31T20:49:52.837 回答