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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 0 (0 голосов)

Поделиться в соц. сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала