Краткое руководство Buildout

Перевод документа с сайта Six feet up (sixfeetup.com)

Словарь

buildout - набор разделов (parts), которые определяют, как собрать приложение

part (раздел) - набор опций, которые позволяют собрать часть приложения

recipe (способ) - программа, используемая для создания частей, состоящих из опций

Введение в Plone Buildout

Вы можете добавить default.cfg в Ваш каталог $HOME/.buildout, чтобы внести настройки по умолчанию для любого раздела buildout

[buildout]
eggs-directory = /path/to/home/.buildoout/eggs
download-directory = /path/to/home/.buildoout/downloads
zope-directory = /path/to/home/.buildoout/zope

ПРИМЕЧАНИЕ: Это только значения по умолчанию, они не переопределяют настройки в Вашем buildout.

Как начать работать с Plone Buildout:

Чтобы начать, Вы можете использовать коллекцию шаблонов ZopeSkel

$ sudo easy_install ZopeSkel
$ paster create -t plone3_buildout

Вам будет задано несколько вопросов, касающихся вашего нового Buildout.

Итак, у вас есть свой buildout и Вы можете теперь использовать bootstrap для первоначальной сборки окружения:

$ cd path/to/buildout
$ python2.4 bootstrap.py
$ bin/buildout

Теперь у вас есть всё необходимое, чтобы запустить Ваш сайт (включая имена разделов zeoserver и экземпляра).

Если Вы используете Сервер хранилища Zope (Zope Storage Server):

$ bin/zeoserver start

Теперь Вы можете запустить Ваш экземпляр Zope:

$ bin/instance start

ПРИМЕЧАНИЕ: Несколько экземпляров обычно отличаются по номеру, с его увеличением, например instance1, instance2 и так далее.

Зарезервированные символы, которые Вы не должны использовать в именах разделов или настроек:

: $ % ( )

Настройки Buildout используют следующий синтаксис подстановки переменных:

${<part_name>:<option_name>} 
${buildout:parts-directory}

Настройки, которые состоят из списка элементов заполняются с использованием пробелов или переносами строки на каждый элемент:

# base.cfg
[part-one]
option1 = foo bar baz

option2 = 
    foo
    bar
    baz

Настройки могут добавляться или удаляться с использованием += и -=. В следующем примере мы расширим файл конфигурации, описанный выше:

[buildout]
extends = base.cfg

[part-one]
option1 += bang

option2 -= bar

Версии

Версии могут быть закреплены несколькими способами:

[buildout]
# используем наш список версий для связи
versions = release-versions

[release-versions]
plone.recipe.plone = 3.1.5.1
archetypes.schemaextender = 1.0
SQLAlchemy = 0.4.6
[plone]
# используем последнюю версию 3.1.x
recipe = plone.recipe.plone < 3.2-dev
[instance]
# используем archetypes.schemaextender от 1.0 до 1.4
# SQLAlchemy используем именно 0.4.6

eggs = 
    archetypes.schemaextender >= 1.0, < 1.5
    SQLAlchemy == 0.4.6

Использование командной строки Buildout

Синтаксис командной строки Buildout:

buildout [настройки и присваивания][команды[аргументы команд]]

ПРИМЕЧАНИЕ: Настройки и присваивания могут указываться в любой последовательности.

Команда bin/buildout имеет особые настройки. Используйте следующую команду, чтобы их посмотреть:

$ bin/buildout -h

Настройки (Options)

Вы можете добавить файл default.cfg в Ваш каталог $HOME/.buildout, чтобы установить некоторые пользовательскиие значения по умолчанию для любых разделов Buildout.

ПРИМЕР: Запуск в режиме без поиска обновлений, увеличить детализацию на 30 и установить таймаут после 60 секунд.

$ bin/buildout -Nvvv -t 60

Команды

Buildout имеет различные команды, наиболее полезная - install.

install [parts]

Если никаких разделов не задано, будут использоваться разделы, указанные в настройках buildout.

$ bin/buildout install instance

Присваивания

Присваивания дают Вам возможность установить настройки секций через командную строку. Присваивания используются в следующей форме:

section_name:option_name=value

Приведём несколько примеров.

Установка уровня детализации для секции buildout (эквивалент команды bin/buildout -vvvvv):

$ bin/buildout buildout.log-level=50

Включить отладку для экземпляра:

$ bin/buildout instance.debug-mode=on

Ссылки

Подробно о зависимостях:

http://peak.telecommunity.com/DevCenter/setuptools#declaring-dependencies

Официальная документация для Zope:

http://buildout.zope.org/

Раздел Cheese Shop (pypi) про Buildout:

http://pypi.python.org/pypi/zc.buildout

Учебник Мартина Аспели (Martin Aspeli) по Buildout на plone.org

http://plone.org/documentation/tutorial/buildout

Оригинал документа
По материалам http://www.sixfeetup.com

Перевод ООО «Комтет» komtet.ru

Вам также может помочь