Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Continuous Integration совместно с buildbot: вступление

Anna | 16.06.2014 | нет комментариев

Всякий план за годы разработки обрастает огромный и трудной инфраструктурой. Уйма скриптов сборки, хуков и самописных утилиток со временем превращаются в целый ворох задач. Этого трудно избежать всецело, но абсолютно реально сократить число допустимых неприятностей. Об одном инструменте, тот, что может Вам в этом подмогнуть, я сегодня и расскажу.

Buildbot? Не, не слышал.

На прогре примерно нет упоминаний об этом восхитительном тулките. Значит ли это, что им никто не пользуется? Отнюдь.
Сhromium, python, blender и уйма других крупных планов собираются и даже релизятся с поддержкой buildbot.

Огромный и ужасный waterfall плана chromium

Что за зверь такой?

Стоит подметить основную специфика: buildbot — это фреймворк. Кто-то может посчитать это минусом, но для серьезных планов это непререкаемый плюс. чай давным-давно вестимо, что если хочешь сделать что-то годное, то отменнее сделать это самому.
Конфиг, содержащий в себе инструкции что как и где собирать, представляет из себя код на python. Оттого я верю, что Вы с этим языком знакомы.

В бой!

Отменнее один раз увидеть, чем сто раз услышать, так что давайте сразу перейдем к действию.

Нам понадобится:

  • Python в купе с его dev пакетами(для сборки twisted)
  • Virtualenv для создания виртуального окружения
  • Git

Сотворим виртуальное окружение

mkdir -p buildbot
cd buildbot
virtualenv --no-site-packages sandbox
source sandbox/bin/activate
easy_install sqlalchemy==0.7.10
easy_install buildbot buildbot-slave

Сделаем мастер-сервер

buildbot create-master master

Переименуем дефолтный конфиг

mv master/master.cfg.sample master/master.cfg

А сейчас запустим мастер

buildbot start master

Дозволено проверить отлично ли все работает посмотрев лог

tail -f master/twistd.log

А сейчас, не отходя от кассы, сотворим слейв
Размещение слейва рядом с мастером невозможно назвать отличной практикой, но в нашем случае это дозволительно

buildslave create-slave slave localhost:9989 example-slave pass

Запускаем

buildslave start slave

Слейв ругнется на развернутый по-соседству твистедовский сервер мастера. Не обращаем внимания.
Если есть специальное желание, то можем проверить, как все прошло, заглянув в лог

tail -f slave/twistd.log

Если мы сделали все верно, то на 8010 порту нашего localhost’а будет красоваться вот такая приветственная страничка:

Проверяем

Логинимся. user: pyflakes, password: pyflakes.
Идем на localhost:8010/builders/runtests и видим приблизительно следующее:

Отважно жмякаем «Force Build»

Наш 1-й билд готов. Нажимаем F5 и переходим на страницу сборки. Все шаги зеленые? Значит, тесты прошли удачно.

Нажав на stdout определенного шага сборки, дозволено увидеть итог консоли с подробным изложением того что, как и где запускалось.

Конец

Вот и все, на этом я завершу вступление в buildbot. Если у програсообщества есть желание, то я с удовольствием продолжу повествование, расскажу о тонкостях и граблях на которые я наступил при внедрении билдбота.

Источник: programmingmaster.ru

Оставить комментарий
БАЗА ЗНАНИЙ
СЛУЧАЙНАЯ СТАТЬЯ
СЛУЧАЙНЫЙ БЛОГ
СЛУЧАЙНЫЙ МОД
СЛУЧАЙНЫЙ СКИН
НОВЫЕ МОДЫ
НОВЫЕ СКИНЫ
НАКОПЛЕННЫЙ ОПЫТ
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB