massの日記

日々の薪

GitHub Enterpriseを試してみる

先月からGitHub EnterpriseのTrialを試している。

GitHub EnterpriseはGitHubを自社内に持つことを可能とするサービス。
GitHubは登録すれば誰でも使えるのに対してGitHub Enterpriseは自分達のイントラネット内に利用者を絞れる。

何故、Webで提供されているサービスがあるのにそれを使わないのかといわれると、TwitterとYammerの関係に近いと個人的には感じている。会社と個人をわけるというよりは、情報があふれすぎている中、社内のみに情報発信者を絞ることで、情報の発信者を見やすくするという目的がある。
例えば、1000人の人がいて、その中に自分の興味を持つ分野と同じ分野に興味を持つ人が10人いたする。その10人の中で同じ会社の人がいるかどうかを調べたりなんてわざわざしない。少なくとも私はしていない。大体が、なんとなく話が合いそうと感じた人をfollowしたりlikeしたりする。
Web上での知り合いは、そういった意味で自分が普段縁のない人と知り合える面白さがあるけど、実際に直接顔をあわせた上で頻繁に情報をやり取りできるのは会社の人の方。特に自分が仕事で調べていることは6〜7割くらいの確率で社内の誰かが知っていると思う。分散型のバージョン管理、スピード感のある開発作業(fork,pull request,merge)、それに加えて社内ナレッジの共有に一役買ってくれそうだということで、導入を進めたいと思った。
費用面としては1人あたり1年間2万。これを高いととるか、安いととるかはケースバイケースなので、横においておく。

導入したいけど実際使ってみないとわからないこともあるのでトライアルを申し込んだ。待つこと10日、GitHubから返事がきた。Webフォームからの申し込みだけど、auto-replyメールは届かない。最初はメールアドレスを間違えたかと思ってどきどきしたけど、そうじゃなくて、申請者が所属している会社所有のメールアドレスから送られているか確認しているらしい。(返答が遅いと思って、個人のメールアドレスを利用して再度問い合わせたら、個人用のメールじゃなくて、会社のメール使ってくださいとお返事がきたので判明した事実。)
そして、いよいよ届いた、招待メール。メールに記載されているURLの先はこのページ。

トライアル版の有効期限や通知が表示されるDashboar画面にDownload、Profile、Logoutのリンクがあるのみ。すごくシンプル。でもIntroduction的なものがなにもなくて、少し驚いた。早速Download画面にいって、ファイルを落とす。ファイルは全部で3つあり、OVFファイル、ライセンスファイル、ソフトウェアパッケージの構成となってる。Virtual Applianceとして配布されていることを、この時点で初めて知った。

なにもわからぬままえいやでトライアルを申し込んだけど、設定にはさほど困らなかった。OVFをツールでVMDKに変更してVMware Fusion仮想マシンとして立ち上げ。

setup画面にアクセスしてと出ているので、setup画面にアクセス、ライセンスファイルとソフトウェアパッケージを登録する画面が出てくるので、ファイルをアップ、インスタンスの作成処理が開始される。インスタンスの作成処理が完了すると、後はGitHubと同じ見慣れた画面が表示される。違うところは、右上にAdminのボタンが表示され、Management Consoleなるものが見えること。立ち上がった仮想マシンはどうするかというと、実はまったくいじれない。仮想マシンの中身というかプロセスや動きを見るにはどうしたら?と質問したら『中はいじれないし見れないよ、Management Consoleから制御してね!』と返事がきた。『バックアップはスナップショットで取ってね!』とのこと。ManagementConsoleで各ミドルウェアの再起動ができ、ページヘッダにディスク使用率、レスポンスタイム、CPUの使用率などが表示されるので、そこを見て運用するらしい。つまり、完全にソフトウェアとしての販売であり、仕組み的な部分でのカスタマイズできる余地はない。
もちろんDNSの設定やSMTPサーバの指定はManagementConsole上でできる。アカウントも既存のLDAPサーバの認証と連携できるし、Webサービスをそのまま社内ネットワークにのせたというGitHubの表現は多いに正しい。

そんなこんなでGitoriousというオープンソースのGitHubコピーを自分たちでカスタマイズした方が自由度は遥かに高い。だけど、便利な機能やUpdateされた部分は自分たちでいじらないと反映されないし、セットアップは少し手間がかかる。ここはオープンソースの醍醐味で、これはこれで楽しい。後は運用するコストに対する考え方だと思う。ただ、往々にしてこういったツールは社内のリソースが足りないと優先度がさげられ更新されずに初期に導入したバージョンのまま運用するというのが現実としてよくある。(個人的な経験で言うと、Redmineを導入して、入れるタイミングでは最新版を入れたけど、その後にまめにバージョンをあげているチームはあまりない。だいたいチームの発足が古ければ古いほどRedmineのバージョンも古い。)

色々な会社や個人がGitHubやGitorious等を使い始めている中で、こういったツールを検証できたのはちょっと楽しかった。ツールはあくまでツールなので、どう使うかは使い手次第だけど、個人的にはGitHubの提唱するソーシャルコーディングというのは、とても効率がよく、そして参加者にとってのメリットが高いサービスだと思うので、なんとかうまいこと社内にソーシャルコーディングを導入したいなと思った。

トライアル版を試してみての感想をまとめてみた、ただそれだけ。