2016-10-27 9 views
1

Я пытаюсь написать скрипт Python, который автоматически перезапускает buildbot, если ничего не строит. Как скрипт может проверить, есть ли что-нибудь, что строится?Как узнать, строится ли строитель?

+0

что значит «ничего строит»? Buildbot запускает сборку в соответствии с настроенными планировщиками: например, по таймеру, интерактивным пользовательским запросом, крючком после того, как появились новые коммиты и т. Д. Таким образом, Buildbot не строит, если ему не говорят, что нужно строить таким или другим способом. – rutsky

+0

Да, у нас есть несколько пользователей, у которых есть сборки в разное время. Если я изменю master.cfg, тогда мне нужно перезапустить buildbot, чтобы новые фабрики появлялись на веб-странице. Но я не хочу перезапускать buildbot, если у кого-то есть сборка, потому что это может прервать их сборку. –

+0

Вы можете попробовать 'reconfig'. Он перечитывает конфигурацию и выполняет перезапуск без прерывания. – yhager

ответ

1

В соответствии с вашими комментариями, вы должны:

  • Создать Systemd (или любой другой) сценарий для мастера BuildBot, чтобы запустить его непрерывной после пуска и после провала/выхода (worker example)
  • В соответствующие buildstep инициировать мастер корректного завершения работы с buildbot stop --clean --no-wait
  • Init-службы не будет повторно начать бб-мастер