Rultor ist ein DevOps-Teamassistent. Es hilft Ihren Programmierern und Release-Managern, Routinevorgänge (Zusammenführen, Bereitstellen und Release) mit einer benutzerfreundlichen, intuitiven Chat-Bot-Oberfläche zu automatisieren. Sagen Sie einfach @rultor hello
in einem Ihrer GitHub-Probleme und die Konversation beginnt.
Die vollständige Dokumentation finden Sie unter doc.rultor.com
Schema für die Datei .rultor.yml
Benötigen Sie Online-Hilfe? Probieren Sie unsere Telegram-Gruppe aus.
Diese Blogbeiträge könnten hilfreich sein:
Rultor, ein verschmelzender Bot
Jeder Build in seinem eigenen Docker-Container
Der Hauptzweig muss schreibgeschützt sein
Rultor + Travis
Sehen Sie sich diese Videos an, um zu verstehen, wofür Rultor gedacht ist:
Bereitstellungsskripte sind tot; Treffen Sie Rultor
DevOps Pro; Vilnius, Litauen; 26. Mai 2016
Ein praktisches Beispiel für eine One-Click-Release
DevOpsPro 2016; Moskau, Russland; 15. November 2016
Chat-Bots-Architektur
GeekOUT 2016; Tallinn, Estland; 9. Juni 2016
Das Standard-Docker-Image ist yegor256/rultor-image
Automatisierte Bereitstellungsskripte gibt es schon seit einiger Zeit. Rultor versucht, die Probleme anzugehen, die diese Skripte nicht lösen.
Der erste Vorteil von Rultor besteht darin, dass Sie Ihr Bereitstellungsskript mithilfe von Docker-Containern in einer eigenen virtuellen Umgebung isolieren können. Dies reduziert die Menge an externen Zuständen, die sich auf Ihren Build auswirken könnten, erheblich und macht Fehler einfacher reproduzierbar.
Darüber hinaus werden aufgrund der Integration von Rultor in moderne Issue-Tracker alle Protokolle gespeichert und in dem Ticket veröffentlicht, in dem Rultor erwähnt wurde. Wichtige Informationen für alle Entwickler leicht zugänglich machen.
Rultor führt die Bauarbeiten vor dem Flug durch. Anstatt in den Master-Zweig einzubinden und dann zu prüfen, ob Ihre Änderungen den Build kaputt gemacht haben oder nicht, checkt Rultor den Master-Zweig aus, wendet Ihre Änderungen darauf an und führt dann alles aus, für dessen Ausführung er eingerichtet wurde. Wenn und nur wenn alles gut geht, führt Rultor die Änderungen im Master zusammen. Dadurch wird programmgesteuert verhindert, dass der Master von Entwicklern beschädigt wird. Sich keine Sorgen darüber machen zu müssen, dass der Build für alle anderen kaputt geht, wirkt sich sehr positiv auf die Art und Weise aus, wie Entwickler Code schreiben, erhöht ihre Produktivität und verringert ihre Angst vor Fehlern.
Schließlich bietet Rultor eine integrierte und humanisierte Schnittstelle zu DevOps-Tools, da ein für Menschen lesbarer Satz ausreicht, um eine Zusammenführung oder Veröffentlichung auszulösen.
Sobald Rultor in einem Ihrer GitHub-Pull-Requests einen Merge-Befehl findet, führt es genau Folgendes aus:
bundle test
.master
-Zweig zusammen.bundle test
.master
Zweig an GitHub gesendet.Sie können es beispielsweise in diesem Pull-Request in Aktion sehen: jcabi/jcabi-github#878.
Rultor geht davon aus, dass ein Server mit installiertem Docker verfügbar ist. Es meldet sich dort per SSH an und startet pro Aufgabe Docker-Container. So konfigurieren Sie einen Server von Grund auf (als root
unter 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
Stellen Sie sicher, dass b4.rultor.com
auf den Server verweist. Im Moment funktioniert die gehostete App nur mit einem einzigen Server unter diesem bestimmten Domänennamen.