トップ «前の日記(2020/03/05 (木) ) 最新 次の日記(2020/03/07 (土) )» 編集 RSS feed

HsbtDiary


2020/03/06 (金) [長年日記]

Ruby CI のプロビジョニングを mitamae で出来るようにした

様々な OS で Ruby のテストを回している Ruby CI のインフラ面をがっつり改善した。

まず、インスタンスは全て AWS で回すようにしたうえで rubyci.org の DNS の管理権限を成瀬さんからもらって、インスタンス全てのドメインを *.rubyci.org になるようにした。

また、プロビジョニングは @k0kubun が作っているワンバイナリプロビジョニングツールの mitamae に集約しつつ、ランナーとして @sorah の hocho を使うことにした。できたのがこれ。

https://github.com/ruby/ruby-infra-recipe

主に k0kubun が mitamae をいろんな OS やアーキテクチャに対応させまくりつつ、@mame がマニアックな OS 、 @hsbt がメジャーな OS の対応をするって感じで進めた。最終的に AWS に雑にインスタンスを立てて

$ bundle exec hocho debian.rubyci.org

などと実行すると、chkbuild というユーザーで ruby をビルドできる環境になって、コミッタのうち鍵を登録してる人がそのサーバーに入ることができるようになる。これによってバンバン環境を作ることができるし、デバッグに強い人がサーバーにログインしてスッと原因を特定などできるようになって最高になった。

ついでに、いろんなプラットフォームで Ruby をビルドするために必要な依存パッケージをだいたい全部洗い出すこともできたので、 https://github.com/k0kubun/itamae-plugin-recipe-rbenv/ を使えば、Rails を動かしますというような OS なら何でも Ruby がすぐ入りますという状態にもなったと思う。これはすごい。

次は gem-codesearch かメールサーバーの移設かなー...。