Рултор — помощник команды DevOps. Он помогает вашим программистам и менеджерам по выпуску автоматизировать рутинные операции (слияние, развертывание и выпуск) с помощью простого в использовании интуитивно понятного интерфейса чат-бота. Просто поздоровайтесь @rultor hello
в любом выпуске GitHub, и разговор начнется.
Полная документация находится на doc.rultor.com.
Схема для файла .rultor.yml
Нужна помощь онлайн? Попробуйте нашу группу в Telegram.
Эти сообщения в блоге могут быть полезны:
Rultor, бот-слиятель
Каждая сборка в собственном Docker-контейнере
Основная ветвь должна быть доступна только для чтения
Рултор + Трэвис
Посмотрите эти видео, чтобы понять, для чего нужен Rultor:
Сценарии развертывания мертвы; Знакомьтесь, Рултор
DevOps Про; Вильнюс, Литва; 26 мая 2016 г.
Практический пример выпуска в один клик
ДевОпсПро 2016; Москва, Россия; 15 ноября 2016 г.
Архитектура чат-ботов
Компьютерщик 2016; Таллинн, Эстония; 9 июня 2016 г.
Образ Docker по умолчанию — yegor256/rultor-image.
Сценарии автоматического развертывания существуют уже некоторое время. Rultor пытается решить проблемы, которых нет в этих сценариях.
Первое преимущество Rultor заключается в том, что он позволяет изолировать сценарий развертывания в собственной виртуальной среде с помощью контейнеров Docker. Это существенно уменьшает количество внешнего состояния, которое может повлиять на вашу сборку, и делает ошибки более легко воспроизводимыми.
Кроме того, благодаря тому, как Rultor интегрируется с современными системами отслеживания проблем, все журналы сохраняются и публикуются в заявке, в которой упоминается Rultor. Обеспечение легкого доступа к важной информации для всех разработчиков.
Rultor выполняет предполетную сборку. Вместо слияния с master и последующего просмотра, нарушили ли ваши изменения сборку или нет, Rultor проверяет ветку master, применяет к ней ваши изменения, а затем запускает все, что было настроено для запуска. Если и только если все идет хорошо, Rultor объединяет изменения в master. Это программно предотвращает взлом мастера разработчиками. Отсутствие необходимости беспокоиться о том, что сборка сломается для всех остальных, очень положительно влияет на то, как разработчики пишут код, повышая их производительность и уменьшая их страх допустить ошибки.
Наконец, Rultor предоставляет интегрированный и гуманизированный интерфейс для инструментов DevOps, поскольку удобочитаемого предложения достаточно, чтобы инициировать слияние или выпуск.
Как только Rultor находит команду слияния в одном из ваших запросов на извлечение GitHub, он делает именно это:
bundle test
.master
ветку.bundle test
.master
ветку на GitHub.Вы можете увидеть это в действии, например, в этом запросе на включение: jcabi/jcabi-github#878.
Rultor ожидает, что сервер с установленным Docker будет доступен. Он входит туда через SSH и запускает контейнеры Docker для каждой задачи. Вот как вы настраиваете сервер с нуля (от имени root
в Ubuntu 20.04):
$ apt-get install -y bc
$ groupadd docker
$ adduser rultor
$ gpasswd -a rultor docker
$ echo 'rultor ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
$ mkdir /home/rultor/.ssh
$ cat > /home/rultor/.ssh/authorized_keys
$ chown rultor:rultor -R /home/rultor/.ssh
$ chmod 600 /home/rultor/.ssh/authorized_keys
Убедитесь, что b4.rultor.com
указывает на сервер. На данный момент размещенное приложение работает только с одним сервером под этим конкретным доменным именем.