Разработка 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/
См. также
© 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/