Rultor es un asistente del equipo DevOps. Ayuda a sus programadores y administradores de versiones a automatizar operaciones de rutina (fusionar, implementar y liberar) con una interfaz de chatbot intuitiva y fácil de usar. Simplemente @rultor hello
en cualquiera de tus problemas de GitHub y la conversación comenzará.
La documentación completa está en doc.rultor.com
Esquema para el archivo .rultor.yml
¿Necesita ayuda en línea? Prueba nuestro grupo de Telegram.
Estas publicaciones de blog pueden ser útiles:
Rultor, un robot fusionado
Cada compilación en su propio contenedor Docker
La rama maestra debe ser de solo lectura
Rultor + Travis
Mire estos videos para comprender para qué sirve Rultor:
Los scripts de implementación están muertos; Conoce a Rultor
DevOps Pro; Vilna, Lituania; 26 de mayo de 2016
Un ejemplo práctico de lanzamiento con un solo clic
DevOpsPro 2016; Moscú, Rusia; 15 de noviembre de 2016
Arquitectura de los chatbots
GeekOUT 2016; Tallin, Estonia; 9 de junio de 2016
La imagen predeterminada de Docker es yegor256/rultor-image
Los scripts de implementación automatizada existen desde hace algún tiempo. Rultor intenta abordar los problemas que esos guiones no abordan.
El primer beneficio de Rultor es que le brinda aislamiento de su script de implementación en su propio entorno virtual mediante el uso de contenedores Docker. Esto reduce sustancialmente la cantidad de estado externo que podría afectar su compilación y hace que los errores sean más fácilmente reproducibles.
Además, debido a la forma en que Rultor se integra con los rastreadores de problemas modernos, todos los registros se almacenan y publican en el ticket en el que se mencionó a Rultor. Hacer que la información vital sea fácilmente accesible para todos los desarrolladores.
Rultor realiza construcciones previas al vuelo. En lugar de fusionarse con master y luego ver si sus cambios rompieron la compilación o no, Rultor verifica la rama master, le aplica los cambios y luego ejecuta todo para lo que estaba configurado. Si, y sólo si, todo va bien, Rultor fusiona los cambios en master. Esto evita mediante programación que los desarrolladores rompan el maestro. No tener que preocuparse por romper la compilación para los demás tiene un impacto muy positivo en la forma en que los desarrolladores escriben el código, aumentando su productividad y mitigando su miedo a cometer errores.
Por último, Rultor proporciona una interfaz integrada y humanizada para las herramientas DevOps, ya que una frase legible por humanos es suficiente para desencadenar una fusión o un lanzamiento.
Una vez que Rultor encuentra un comando de combinación en una de sus solicitudes de extracción de GitHub, hace exactamente esto:
bundle test
.master
.bundle test
.master
modificada a GitHub.Puede verlo en acción, por ejemplo, en esta solicitud de extracción: jcabi/jcabi-github#878.
Rultor espera que esté disponible un servidor con Docker instalado. Inicia sesión allí a través de SSH e inicia contenedores Docker para cada tarea. Así es como se configura un servidor desde cero (como root
en 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
Asegúrese de que b4.rultor.com
apunte al servidor. Por el momento, la aplicación alojada funciona con un único servidor, con este nombre de dominio en particular.