Rultor est un assistant d'équipe DevOps. Il aide vos programmeurs et responsables de versions à automatiser les opérations de routine (fusion, déploiement et publication) grâce à une interface de chatbot intuitive et facile à utiliser. Dites simplement @rultor hello
dans n'importe lequel de vos problèmes GitHub et la conversation commencera.
La documentation complète est sur doc.rultor.com
Schéma du fichier .rultor.yml
Besoin d'aide en ligne ? Essayez notre groupe Telegram.
Ces articles de blog peuvent être utiles :
Rultor, un robot de fusion
Chaque build dans son propre conteneur Docker
La branche principale doit être en lecture seule
Rultor + Travis
Regardez ces vidéos pour comprendre à quoi sert Rultor :
Les scripts de déploiement sont morts ; Rencontrez Rultor
DevOps Pro ; Vilnius, Lituanie ; 26 mai 2016
Un exemple pratique de version en un clic
DevOpsPro 2016 ; Moscou, Russie ; 15 novembre 2016
Architecture des chatbots
GeekOUT 2016 ; Tallinn, Estonie ; 9 juin 2016
L'image Docker par défaut est yegor256/rultor-image
Les scripts de déploiement automatisé existent depuis un certain temps. Rultor tente de résoudre les problèmes que ces scripts ne résolvent pas.
Le premier avantage de Rultor est qu'il vous permet d'isoler votre script de déploiement dans son propre environnement virtuel en utilisant des conteneurs Docker. Cela réduit considérablement la quantité d'état externe qui pourrait affecter votre build et rend les erreurs plus facilement reproductibles.
De plus, en raison de la manière dont Rultor s'intègre aux outils de suivi des problèmes modernes, tous les journaux sont stockés et publiés sur le ticket sur lequel Rultor a été mentionné. Rendre les informations vitales facilement accessibles à tous les développeurs.
Rultor effectue des builds avant le vol. Au lieu de fusionner avec master et de voir ensuite si vos modifications ont interrompu la construction ou non, Rultor extrait la branche master, lui applique vos modifications, puis exécute tout ce pour quoi elle a été configurée. Si, et seulement si, tout se passe bien, Rultor fusionne les modifications dans le maître. Cela empêche par programme que le maître soit cassé par les développeurs. Ne pas avoir à craindre de casser la version pour tout le monde a un impact très positif sur la façon dont les développeurs écrivent le code, augmentant leur productivité et atténuant leur peur de commettre des erreurs.
Enfin, Rultor fournit une interface intégrée et humanisée aux outils DevOps, puisqu'une phrase lisible par l'homme suffit pour déclencher une fusion ou une release.
Une fois que Rultor trouve une commande de fusion dans l'une de vos requêtes pull GitHub, il fait exactement ceci :
bundle test
.master
.bundle test
.master
modifiée vers GitHub.Vous pouvez le voir en action, par exemple, dans cette pull request : jcabi/jcabi-github#878.
Rultor s'attend à ce qu'un serveur avec Docker installé soit disponible. Il s'y connecte via SSH et démarre les conteneurs Docker pour chaque tâche. Voici comment configurer un serveur à partir de zéro (en tant que root
sur 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
Assurez-vous que b4.rultor.com
pointe vers le serveur. Pour le moment, l'application hébergée fonctionne avec un seul serveur, sous ce nom de domaine particulier.