Практики деплоймента и оптимизации Вашего Plone-сайта
Несмотря на то, что имеется вполне достаточное количество информации на plone.org и в других местах о том, как разместить и оптимизировать Plone-сайт, возможности прохождения официального обучения по этой теме, кажутся скромными и далекими. Так что я очень рад буду вести новые обучающие курсы на предстоящей Plone-конференции по Plone 2009 в Будапеште, имеющей название Практики деплоймента и оптимизации Plone-сайтов.
В этом блоге я хочу рассказать подробнее о темах, которые будут рассматриваться на курсах, а также обозначить ряд статей, которые я опубликую в этом блоге, и которые войдут в тренинг в конце октября.
Идея состоит в том, что написание ряда статей 1) поможет мне подготовить материалы для обучения, 2) получить отзыв сообщества на эти материалы 3) сообщить о тренинге. Т.е. убить "трех зайцев" одним выстрелом!
Двухдневные курсы будут состоять из трех частей:
- Создание сценария деплоймента
- Настройка рабочей среды
- Тестирование и автоматизация
Что вы узнаете в этой статье
В этой первой из серии статей, мы рассмотрим основной этап создания Plone-сайта: это создание buildout. Он будет включать:
- настройку среды разработки
- создание virtualenv
- создание buildout
- запуск buildout
- создание Plone-сайта
Настройка вашей среды разработки
Мы предположим, что у вас стоит Unix-подобная операционная система, или MacOSX, Linux или BSD и что на вашем компьютере установлен Python 2.4 . Если нет, то следуйте этим инструкциям на Debian/Ubuntu Linux. Основная идея здесь заключается в том, что вам нужны build tools, subversion, python 2.4.x, и пакеты python dev, для того, чтобы вы смогли запустить buildout и скомпилировать Zope.
$ sudo aptitude install build-essential python-dev python2.4 python2.4-dev subversion
Установка модулей Python с помощью easy_install
easy_install - это инструмент для простой установки новых модулей Python на вашу систему. Первое, что надо сделать, это убедиться, что easy_install установлен на вашем компьютере.
$ wget http://peak.telecommunity.com/dist/ez_setup.py $ sudo python ez_setup.py
Это позволит запустить ряд команд для установки setuptools, который запустит easy_install, команду, которую мы будем использовать для установки других утилит. Прежде, чем мы сможем создать наш buildout, мы должны построить virtualenv.
Создание "песочниц" с помощью virtualenv
Virtualenv позволит нам создать виртуальную среду или "песочницу" с помощью Python. Это позволит отделить среду разработки Python для нашего конкретного проекта от окружения Python в операционной системе. Мы избегаем загрязнения системы Python-модулями, характерными только для этого проекта. Это также позволяет разным проектам иметь различные версии Python-модулей.
$ sudo easy_install-2.4 virtualenv
В вашей /usr/local/bin директории под названием virtualenv появится следующий сценарий.
$ cd /opt/local/buildouts (or wherever you like to keep your buildouts) $ virtualenv --python=python2.4 budapesttraining (we use --python=python2.4 to make sure that Python 2.4 is used)
Вы увидите что-то вроде этого:
Running virtualenv with interpreter /opt/local/bin/python2.4 New python executable in budapesttraining/bin/python Installing setuptools.............done.
Теперь мы можем перейти в этот каталог и активировать virtualenv.
$ cd budapesttraining $ source bin/activate
Ваша командная строка изменится на (budapesttraining), поэтому вы будите знать, что этот virtualenv теперь активен. Чтобы его дезактивировать, просто наберите "deactivate".
Создание buildout
Теперь создадим каталог buildout. Как правило, мы бы использовали шаблон ZopeSkel, но в настоящее время он по-прежнему использует plone.recipe.plone вместо пакетов Plone (egg), поэтому мы будем создавать buildout вручную, но это приведет к более упрощенному файлу buildout.cfg. Если в Zope достаточное количество пакетов (egg), то этот buildout станет даже более упрощенным, так как мы можем просто сказать eggs = Zope, чтобы установить последнюю версию Zope.
mkdir buildout cd buildout wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py [mate|vi|emacs] buildout.cfg (use your text editor of choice to edit a buildout.cfg file]
Измените файл buildout.cfg следующим образом:
[buildout] extends = http://dist.plone.org/release/3.3/versions.cfg versions = versions find-links = http://dist.plone.org/thirdparty parts = zope2 instance [zope2] recipe = plone.recipe.zope2install url = ${versions:zope2-url} fake-zope-eggs = true [instance] recipe = plone.recipe.zope2instance zope2-location = ${zope2:location} user = admin:admin http-address = 8080 eggs = PIL Plone
Запуск buildout
Сохраните изменения в файле buildout.cfg, а затем запустите эти две команды:
$ python bootstrap.py $ bin/buildout -v
Запуск Zope
Попробуйте запустить его с помощью этой команды, которая откроет Zope на переднем плане (поэтому вы сможете увидеть всю информацию отладки):
$ bin/instance fg
Если все пойдет хорошо, то вы увидите следующее:
2009-08-25 21:04:30 INFO Zope Ready to handle requests
Создание нового Plone-сайта
Затем мы создадим новый Plone-сайт.
- Зайдите в Zope из вашего web-браузера: http://localhost:8080/manage и введите свое имя пользователя и пароль (Admin: Admin).
- В меню, выберите “Plone Site”. Присвойте ему ID “Plone”.
- Теперь вы можете зайти в http://localhost:8080/Plone чтобы посмотреть ваш новый Plone-сайт!
Заключение
Вот и завершился наш первый основной урок по созданию основного buildout. Как всегда, жду ваших отзывов. Вы можете это сделать, используя форму комментариев внизу страницы.
Для более детального рассмотрения того, как управлять проектом Plone, используя buildout, я рекомендую воспользоваться превосходным учебником Мартина Аспели (Martin Aspeli) на plone.org: Управление проектами с помощью buildout.
В следующей статье мы рассмотрим как:
- Check in/out изменения кода в subversion-репозиторий
- Настроить egg proxy, чтобы избежать неудачи buildout, если сервер pypi не работает
- Готовить релизы модулей eggs для pypi, plone.org и вашего собственного egg-сервера
Практический курс обучения с Plone-экспертами
Если вы собираетесь посетить Конференцию по Plone в Будапеште, и хотели бы пройти наш всесторонний обучающий курс Best Practices для деплоймента и оптимизации Plone-сайтов, то двух дневный курс будет стоить для вас всего лишь 300 $ USD. Полное расписаниесмотри здесь. Если у вас есть желание узнать информацию по другим темам, то присылайте свои предложения!
Chris Calloway недавно опубликовал интересную информацию о других возможностях обучения по Plone, которые будут предложены в Будапеште. Это прекрасная возможность улучшить свои знания и получить ответы на все ваши вопросы по Plone.
Оригинал статьи на http://blog.jazkarta.com
Перевод КОМТЕТ komtet.ru