ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как создать блок файлов Systemd для BuildBot

Как установить BuildBot на Ubuntu 16.04

Введение

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 с помощью следующего руководства:

После того, как вы выполнили эти требования, вы готовы продолжить.

Шаг 1 – Остановка запущенных служб

Во-первых, если вы все еще вошли в систему как пользователь 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`, что указывает на то, что сервис не был запущен.

Шаг 2 – Создание файла модуля Buildmaster

Далее, мы создадим и откроем файл с именем buildbot-master.service:

sudo nano /lib/systemd/system/buildbot-master.service

 

В разделе [Unit] мы добавим описание и требуем, чтобы сеть должна быть доступна до начала службы. В разделе [Service] мы укажем, что процесс работает как пользователь и группа buildbot, которую мы создали, определить рабочий каталог, а также обеспечить команду, которую следует использовать для запуска мастера. Наконец, в разделе [Install], мы укажем, что он должен начать в составе целевых мульти-пользователей при загрузке:

/lib/systemd/system/buildbot-master.service
[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.

Шаг 3 – Создание файла модуля worker

Мы создадим и откроем файл с именем buildbot-worker.service, который будет выполнен как buildbot-master.service но со значениями, необходимых для запуска worker. В разделе [Install] мы будем использовать ключ WantedBy в buildbot-master.service, такой worker будет запущен после buildmaster.

sudo nano /lib/systemd/system/buildbot-worker.service

 

/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 запускаться при загрузке системы.

Exit mobile version