Buildbot является непрерывным инструментом интеграции на основе Python, который автоматизирует циклы сборки, тестирования и выпуска программного обеспечения. Он построен используя Twisted networking engine, поддерживает параллельное исполнение работ через множественные платформы и он совместим с всеми главными операционными системами. Установка Buildbot может иметь один или несколько мастеров и количество рабочих процессов. В этой статье мы покажем вам, как установить Buildbot master и worker на CentOS VPS.
Прежде чем продолжить, убедитесь, что все системные пакеты обновлены до актуальной даты:
sudo yum update
Установка Buildbot с pip довольно прямой процесс. Сначала необходимо установить пакеты разработки pip и python с помощью диспетчера пакетов yum:
sudo yum install python-pip python-devel
Если вы хотите более подробные инструкции о том, как установить установить pip на CentOS 7 вы можете проверить эту статью.
Выполните следующую команду, чтобы обновить pip до последней версии:
sudo pip install --upgrade pip
Вывод должен выглядеть следующим образом:
Collecting pip Downloading https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl (1.3MB) 100% |████████████████████████████████| 1.3MB 165kB/s Installing collected packages: pip Found existing installation: pip 8.1.2 Uninstalling pip-8.1.2: Successfully uninstalled pip-8.1.2 Successfully installed pip-10.0.1
После установки pip и обновления до последней версии, мы можем приступить к установке BuildBot. Выполните следующую команду, чтобы установить BuildBot с pip:
sudo pip install 'buildbot[bundle]'
Если установка завершена успешно, вы должны увидеть что-то вроде этого:
Installing collected packages: Twisted, PyJWT, future, buildbot-www, buildbot-worker, buildbot-console-view, buildbot-waterfall-view, buildbot-grid-view, buildbot Running setup.py install for Twisted ... done Running setup.py install for future ... done Successfully installed PyJWT-1.6.1 Twisted-18.4.0 buildbot-1.1.1 buildbot-console-view-1.1.1 buildbot-grid-view-1.1.1 buildbot-waterfall-view-1.1.1 buildbot-worker-1.1.1 buildbot-www-1.1.1 future-0.16.0
Для того, чтобы проверить, правильно ли установлен Buildbot, выполните следующее:
sudo buildbot --version
Buildbot version: 1.1.1 Twisted version: 18.4.0
Мы создадим нового пользователя системы и группы, которые будут работать на BuildBot:
sudo adduser --home /opt/buildbot --shell /bin/bash buildbot
Теперь, когда мы установили Buildbot, мы можем продолжить создавать и настраивать наш первый мастер BuildBot.
Перед тем как продолжить, перейдите на нового пользователя BuildBot, набрав:
sudo su - buildbot
Для создания мастер BuildBot выполните следующую команду:
buildbot create-master master
Вывод должен выглядеть следующим образом:
mkdir /opt/buildbot/master creating /opt/buildbot/master/master.cfg.sample creating database (sqlite:///state.sqlite) buildmaster configured in /opt/buildbot/master
Скопируйте файл конфигурации Buildbot образца по умолчанию с помощью следующей команды:
cp master/master.cfg.sample master/master.cfg
Если вы хотите, иметь возможность получить доступ к веб-интерфейсу BuildBot на ваш IP-адрес сервера или домена, необходимо изменить настройку BuildbotURL в конфигурационном файле.
Откройте конфигурационный файл:
nano master/master.cfg c['buildbotURL'] = "http://your_ip_or_domain:8010/"
Не забудьте заменить your_ip_or_domain на реальный домен или IP-адрес.
После того, как вы сохраните файл выполните следующую команду, чтобы проверить конфигурацию мастера:
buildbot checkconfig master
Если все в порядке, вы должны увидеть следующий вывод:
Config file is good!
Чтобы запустить мастер Buildbot выполните следующую команду:
buildbot start master
Если нет ошибок, вы должны увидеть следующий вывод:
Following twistd.log until startup finished.. The buildmaster appears to have (re)started correctly.
После запуска мастер Buildbot вы можете получить доступ к веб-интерфейсу по адресу:
http://yor_ip_or_domain:8010/
Для простоты мы установим и настроим наш первый worker BuildBot на том же сервере, что и мастер.
Для того, чтобы создать worker BuildBot под названием ‘example-worker’ с паролем «pass» на «localhost», выполните следующую команду:
buildbot-worker create-worker worker localhost example-worker pass
Вывод должен выглядеть следующим образом:
mkdir /opt/buildbot/worker mkdir /opt/buildbot/worker/info Creating info/admin, you need to edit it appropriately. Creating info/host, you need to edit it appropriately. Not creating info/access_uri - add it if you wish Please edit the files in /opt/buildbot/worker/info appropriately. worker configured in /opt/buildbot/worker
Если вы хотите использовать другое имя ‘example-worker’ и пароль (pass) необходимо обновить следующую строку в файле master/master.cfg
:
# a Worker object, specifying a unique worker name and password. The same # worker name and password must be configured on the worker. c['workers'] = [worker.Worker("example-worker", "pass")]
Наконец, мы можем запустить worker, набрав:
buildbot-worker start worker
Если нет ошибок, вы должны увидеть следующий вывод:
Following twistd.log until startup finished.. The buildbot-worker appears to have (re)started correctly.
You can now navigate to http://yor_ip_or_domain:8010/ and start configuring your Buildbot instillation.