Rultor 是一名 DevOps 团队助理。它通过易于使用的直观聊天机器人界面帮助您的程序员和发布经理自动执行日常操作(合并、部署和发布)。只需在任何 GitHub 问题中说@rultor hello
,对话就会开始。
完整文档位于 doc.rultor.com
.rultor.yml 文件的架构
需要在线帮助吗?试试我们的 Telegram 群组。
这些博客文章可能会有所帮助:
Rultor,一个合并机器人
每个构建都在自己的 Docker 容器中
主分支必须是只读的
鲁尔托 + 特拉维斯
观看这些视频以了解 Rultor 的用途:
部署脚本已死;认识鲁尔托
开发运营专业版;立陶宛维尔纽斯; 2016 年 5 月 26 日
一键发布的实际示例
DevOpsPro 2016;俄罗斯莫斯科; 2016 年 11 月 15 日
聊天机器人架构
极客2016;爱沙尼亚塔林; 2016 年 6 月 9 日
默认 Docker 镜像是 yegor256/rultor-image
自动部署脚本已经存在一段时间了。 Rultor 试图解决这些脚本无法解决的问题。
Rultor 的第一个好处是,它可以使用 Docker 容器将部署脚本隔离在其自己的虚拟环境中。这大大减少了可能影响构建的外部状态量,并使错误更容易重现。
此外,由于 Rultor 与现代问题跟踪器集成的方式,所有日志都会存储并发布到提到 Rultor 的票证中。使所有开发人员都能轻松访问重要信息。
Rultor 执行飞行前构建。 Rultor 不是合并到 master 中,然后查看您的更改是否破坏了构建,而是检查 master 分支,将您的更改应用到它,然后运行它设置运行的所有内容。当且仅当一切顺利时,Rultor 才会将更改合并到 master 中。这以编程方式防止主程序被开发人员破坏。不必担心破坏其他人的构建,这对开发人员编写代码的方式产生非常积极的影响,提高他们的生产力并减轻他们对犯错误的恐惧。
最后,Rultor 为 DevOps 工具提供了集成且人性化的界面,因为人类可读的句子足以触发合并或发布。
一旦 Rultor 在您的 GitHub 拉取请求之一中找到合并命令,它就会执行以下操作:
bundle test
。master
分支中。bundle test
。master
分支推送到 GitHub。您可以看到它的实际效果,例如在此拉取请求中:jcabi/jcabi-github#878。
Rultor 期望安装了 Docker 的服务器可用。它通过 SSH 登录并为每个任务启动 Docker 容器。这是从头开始配置服务器的方法(在 Ubuntu 20.04 中以root
身份):
$ 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
指向服务器。目前,托管应用程序仅通过此特定域名与单个服务器一起使用。