Rultor は DevOps チームのアシスタントです。プログラマーやリリース マネージャーが、使いやすい直観的なチャットボット インターフェイスを使用して日常的な操作 (マージ、デプロイ、リリース) を自動化するのに役立ちます。 GitHub の問題のいずれかで@rultor hello
と言うだけで会話が始まります。
完全なドキュメントは doc.rultor.com にあります。
.rultor.yml ファイルのスキーマ
オンラインでサポートが必要ですか? Telegram グループをお試しください。
次のブログ投稿が役立つ場合があります。
Rultor、マージボット
すべてのビルドは独自の Docker コンテナ内にあります
Master ブランチは読み取り専用である必要があります
ルトル+トラヴィス
Rultor の目的を理解するには、次のビデオをご覧ください。
デプロイメントスクリプトは廃止されました。ルトルに会う
DevOps プロ。ビリニュス、リトアニア; 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 は変更をマスターにマージします。これにより、開発者によるマスターの改ざんがプログラム的に防止されます。他の人のためにビルドを壊すことを心配する必要がなくなることは、開発者のコードの書き方に非常に良い影響を与え、生産性を向上させ、間違いを犯すことへの恐怖を軽減します。
最後に、Rultor は、マージまたはリリースをトリガーするには人間が読める文で十分であるため、DevOps ツールに統合された人間化されたインターフェイスを提供します。
Rultor は、GitHub プル リクエストの 1 つでマージ コマンドを見つけると、まさに次の処理を実行します。
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
がサーバーを指していることを確認してください。現時点では、ホストされているアプリは、この特定のドメイン名によって単一サーバーのみで動作します。