Buildbot является Python на основе непрерывной системной интеграции для автоматизации сборки программного обеспечения, тестирования и процессы выпуска. В статье обязательное условие, установить BuildBot на Ubuntu 16.04, мы создали пользователя buildbot и группу, установили buildmaster в /home/buildbot/master и worker в /home/buildbot/worker, затем вручную запустили процесс нового пользователя.
В этой статье мы создадим файлы модуля Systemd, так что система инициализации сервера может управлять процессами BuildBot.
Один сервер Ubuntu 16.04, по крайней мере, 1 Гб оперативной памяти, сконфигурированный с некорневым sudo
пользователем и брандмауэром, следуя руководству начальной настройки сервера на Ubuntu 16.04 с установленным и сконфигурированным BuildBot с помощью следующего руководства:
После того, как вы выполнили эти требования, вы готовы продолжить.
Во-первых, если вы все еще вошли в систему как пользователь buildbot с предыдущей статьи, наберите exit чтобы вернуться к sudo пользователю.
Как sudo пользователь, мы удостоверимся, что Buildmaster остановлен:
sudo buildbot stop /home/buildbot/master
Затем мы остановим worker:
sudo buildbot-worker stop /home/buildbot/worker
В каждом случае мы получим сообщение, что ‘buildbot process 1234 is dead, showing the Process ID that was stopped) or buildmaster no running`, что указывает на то, что сервис не был запущен.
Далее, мы создадим и откроем файл с именем buildbot-master.service:
sudo nano /lib/systemd/system/buildbot-master.service
В разделе [Unit] мы добавим описание и требуем, чтобы сеть должна быть доступна до начала службы. В разделе [Service] мы укажем, что процесс работает как пользователь и группа buildbot, которую мы создали, определить рабочий каталог, а также обеспечить команду, которую следует использовать для запуска мастера. Наконец, в разделе [Install], мы укажем, что он должен начать в составе целевых мульти-пользователей при загрузке:
[Unit] Description=BuildBot master service After=network.target [Service] User=buildbot Group=buildbot WorkingDirectory=/home/buildbot/master Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" ExecStart=/usr/local/bin/buildbot start \ --nodaemon [Install] WantedBy=multi-user.target
После того, как мы добавили содержание, мы сохраним и выйдем, а затем проверить нашу работу.
sudo systemctl start buildbot-master
Мы будем использовать в Systemd команду status, чтобы проверить, что он запущен:
sudo systemctl status buildbot-master
Вывод должен содержать Active: active (running) и последняя строка должна выглядеть примерно так:
May 13 05:20:36 BuildBot-Install systemd[1]: Started BuildBot master service.
Наконец, мы включим buildmaster запускаться при загрузке:
sudo systemctl enable buildbot-master
Created symlink from /etc/systemd/system/multi-user.target.wants/buildbot-master.service to /lib/systemd/system/buildbot-master.service.
Теперь, когда buildmaster установлен, мы добавим worked.
Мы создадим и откроем файл с именем buildbot-worker.service, который будет выполнен как buildbot-master.service но со значениями, необходимых для запуска worker. В разделе [Install] мы будем использовать ключ WantedBy в buildbot-master.service, такой worker будет запущен после buildmaster.
sudo nano /lib/systemd/system/buildbot-worker.service
[Unit] Description=BuildBot worker service After=network.target [Service] User=buildbot Group=buildbot WorkingDirectory=/home/buildbot/worker Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" ExecStart=/usr/local/bin/buildbot-worker start \ --nodaemon [Install] WantedBy=buildbot-master.service
Мы сохраним и выйдем, а затем используем команду systemctl для запуска worker:
sudo systemctl start buildbot-worker
Мы будем использовать команду status, чтобы проверить успешный запуск:
sudo systemctl status buildbot-worker
Опять же, как master, мы должны видеть Active: active (running) и последняя строка вывода, должна выглядить примерно так:
. . . May 08 21:54:46 BuildBot-Install systemd[1]: Started BuildBot worker service.
Наконец, мы позволить worker запускаться при загрузке:
sudo systemctl enable buildbot-worker.service
Created symlink from /etc/systemd/system/buildbot-master.service.wants/buildbot-worker.service to /lib/systemd/system/buildbot-worker.service.
Вывод выше указывает на то, что worker настроен на запуск при загрузке, но вы должны перезагрузить сервер, в настоящее время, чтобы подтвердить запуск.
В этой статье мы добавили файлы модуля Systemd, так система инициализации сервера может управлять процессами BuildBot, и мы включили buildmaster и worker запускаться при загрузке системы.