Spec-Zone.ru › MariaDB

Разработка Buildbot

Разработка в коде Buildbot

Buildbot содержит все необходимые идеи для решения проблемы поддержания сложной кодовой базы, такой как MariaDB, на высоком уровне качества. Однако необходимо разработать некоторые небольшие исправления и расширения в коде Buildbot.

Здесь я описываю, как настроить среду для работы с кодом buildbot. Читатели, будьте осторожны, я специалист по Perl, поэтому это может не отражать, как выбрал бы действовать специалист по Python.

Сначала я установил пакет Python virtualenv:

tar zxf virtualenv-1.3.3.tar.gz 
cd virtualenv-1.3.3/
mkdir -p /home/knielsen/python/lib/python/
PYTHONPATH="$HOME/python/lib/python" python setup.py install --home="$HOME/python"
cd ..
PYTHONPATH="$HOME/python/lib/python" ~/python/bin/virtualenv sandbox

Затем я клонировал последнюю версию дерева BuildBot из репозитория Git:

git clone git://github.com/djmitche/buildbot.git
cd buildbot/

Установите код BuildBot в виртуальной среде sandbox в режиме разработки и запустите набор тестов.

(В virtualenv есть сценарий sandbox/bin/activate, который рекомендуется использовать. Однако я действительно не люблю хранить этот тип состояния в оболочке, так как это означает, что команды оболочки (например, скопированные из истории) будут работать по-разному в зависимости от времени и места их выполнения. Вот почему я передаю PYTHONPATH напрямую в командной строке.)

PYTHONPATH="$HOME/python/lib/python" ~/devel/buildbot/sandbox/bin/python setup.py develop
PYTHONPATH="$HOME/python/lib/python" ~/devel/buildbot/sandbox/bin/python /usr/bin/trial buildbot.test

[При первой из этих команд я получаю ошибку "error: Could not find suitable distribution for Requirement.parse('Twisted==2.5.0')", но все равно, кажется, работает (я установил все зависимости buildbot через пакеты Ubuntu apt-get).]

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

cd ..
PYTHONPATH="$HOME/python/lib/python" sandbox/bin/buildbot create-master master
cp buildbot/contrib/bzr_buildbot.py master/
# Edit master/master.cfg as appropriate
cd master
PYTHONPATH="$HOME/python/lib/python" ../sandbox/bin/python /usr/bin/twistd --nodaemon --no_save -y buildbot.tac

cd ..
PYTHONPATH="$HOME/python/lib/python" sandbox/bin/buildbot create-slave slave localhost:9989 test testpass
# Edit slave/info/* as appropriate
cd slave
PYTHONPATH="$HOME/python/lib/python" ../sandbox/bin/python /usr/bin/twistd --nodaemon --no_save -y buildbot.tac

С помощью этого я смог внести изменения в код и просто перезапустить мастер и раб, чтобы проверить результаты. Веб-страницы состояния будут доступны по адресу http://localhost:8010/

См. также

  • Задачи BuildBot
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают позицию MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/buildbot-buildbot-development/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API