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
指向伺服器。目前,託管應用程式僅透過此特定網域與單一伺服器一起使用。