ScalatraのWebサイトはこれまでIvanが管理している自前サーバ(?)で運用されていたので時折ダウンしていたり、Jenkinsが落ちているとサイトのビルドができなったりとトラブルが絶えませんでした。
ここ数ヶ月もScalatraの最新版である2.5のドキュメントがサイトに反映できていなかったり、サイトが長期間ダウンしていたりと、さすがにこの状況はいかがなものかということで以前から話には上がりつつ一向に進んでいなかったGitHub Pagesで運用する作戦を決行することにしました。
というか自分が手をつけようと思ったのは吉田さんのこのツイートがきっかけだったのですがw
scalatraのwebsiteのデプロイ方法が一部(おそらく1人か2人?)のドメイン保持者だか管理者しか知らない and 不可能な状況で、まぁ色々アレな状態続いたままなのは酷いのだけど、さすがに1つ下にissueあるのにそれ見ずに同じisuue立てる方もマジあれだし色々治安が pic.twitter.com/y7L0m1jL0Y
— Kenji Yoshida (@xuwei_k) 2017年3月23日
これまでのサイトはJekyllで構築されていたのですが、まず、ブランチで作業されていたhugo版に自分の方で手を入れてテーマやレイアウト、リンク切れなどを修正し、サイトとして最低限公開できる状態に持って行きました。hugoのビルドやScaladocの生成はコミッタの一人である@dozedがTravis職人を買って出てくれ、GitHub Pagesにデプロイできるようになり、最終的に@rossabakerにDNSを切り替えてもらいscalatra.orgをGitHub Pagesに向くようにするところまで、作業を開始してから約1週間というところでした。
海外の方とOSSで共同開発をしていてもリアルタイムに協力して作業をするということはなかなかないのですが(時差の関係もありますが…)、日々gitterでやり取りしながら作業が進んでいくのは面白い体験でした。Scalatraのコミッタ間のやり取りは以前はIRCが使われていたのですが、gitterを使い始めてから随分敷居が低くなりましたし、こういったやり取りもしやすくなりましたね。
なにはともあれこれでしょっちゅうサイトが落ちてるなんてことはなくなるはずです。今回hugoを触るのも初めてだったのですが、サイトの復旧優先で作業したためまだいろいろおかしなところがあると思います。今後少しずつ直していこうと思います。