ペパボでの GitHub の使い方
必殺!Github導入に向けて上司を説得する時に使える資料まとめ - DQNEO起業日記 でペパボも取り上げて頂いたので、ペパボでの GitHub の使い方について、少し詳しく書いてみます。
開発での利用
これは普通の使い方ですね。なので省略。
GitHub Enterprise は利用していない
金額的な面で GitHub Enterprise の利用は厳しいため、GitHub Enterprise ではなく、ノーマル(?)な GitHub を利用しています。(GitHub Enterprise にすると、現在のコストの 8 〜 9 倍ぐらいになってしまう。)
ここはセキュリティ面とのバランスが難しいところではありますが…
とはいえ、GitHub に何かあってソースコードが流出した場合に影響の大きさが懸念されるサービスについては、GitHub を利用しない、といった判断もしています。(ですので、現在ペパボ全社的に完全に GitHub に移行してる、というわけではないです。)
サービスや部署単位で組織アカウントを持っている
ペパボはサービスが多いため、ひとつの組織アカウントに全サービスのリポジトリを持たせるとカオスになりそうなため、サービスや部署毎に組織アカウントを作って運用しています。 以下の画像のように、様々なサービスの組織アカウントがあります。
{% img /images/2012/11/organizations.png %}
運用省力化スクリプト
とはいえ、組織アカウントを分散してしまうと、メンバーの管理が面倒になってしまいます。そこで、 GitHub の API を利用したスクリプト により、その辺りの運用を省力化しています。このスクリプトでは以下のようなことをやっています。
- 与えられたテキストファイルに書かれたアカウントを、paperboy-all という組織アカウントの、paperboy というチームに追加する。
- paperboy-all/paperboy チームのメンバーを、他のペパボ組織アカウントの paperboy チームに同期する
- 各ペパボ組織アカウントの paperboy チームに対して、その組織アカウント内のプライベートリポジトリに対する Pull Only 権限を与える
このスクリプトを cron で回すことにより、新しくメンバーを追加したい場合は、所定のテキストファイルに書き込んでおくだけで済み、新たにリポジトリが作られた場合には、自動的にペパボ全社員が参照できるようになります。
これ以外のチームメンバー運用については、各組織アカウントにひもづくサービスや部署に一任しています。
また、組織アカウントがたくさんあると、経理の方の処理が大変なので、月一で組織アカウント毎の支払日と金額をリストアップした Wiki ページを作成し、経理用 ML にリンクを送る、というスクリプトも動かしてます。(GitHub にまだあげてないですが、興味ある方がいればあげますので、お知らせください。)
技術者の人事評価
ここ とか ここ で書いてますが、技術者の人事評価の中で、以下のように利用しています。
-
シニア、アドバンスド・シニアに昇格したい人は、自分がそれに相応しいと思う理由や実績を Markdown で書いて、評価用リポジトリに pull request する。
- このリポジトリはペパボ社員なら誰でも見ることができる。
- 評価文書について pull request 内のコメントでやりとりして修正してもらう。たとえば、ここもっと詳しく書いて、とか、こういうことやってたから、文書に盛り込むといいんじゃない、的なやりとりを。
- pull request された文書を元に、面談を行う。
- 面談が終わったら、pull request をマージする。
-
マージ後、宮下が一次評価結果とコメントを Markdown 文書に書き込む。
- 結果とコメントも、当然ペパボ社員なら誰でも見ることができる。
実際に pull request されたものは、こんな感じです。
{% img /images/2012/11/morygonzalez.png %}
デザインプロセスの共有
@chocolatina が 【デザイン】 Webサービスのデザイン過程晒してみた 【ブクログ プレミアム】 でまとめてくれてる、デザインの制作過程ですが、社内では GitHub Issues を利用して過程が共有されています。
{% img /images/2012/11/screenshots.png %}
YAPC::Asia Tokyo 2012 で配布したあんちぽブロマイド制作秘話なんかも共有されています。その一部をチラ見せ。
{% img /images/2012/11/antipop.png %}
おそらく、 @demiflare168 がこれを全部パブリックに晒してくれるはずなので、お楽しみに。
こんな感じで過程をイシューにまとめて、デザイナ同士がコメントでやりとりして、デザインプロセスの共有を行っています。
イベントに関するやりとり
PAPARTY! というイベントが 10/27(土) に大阪で開催され、また、 福岡でも 11/24(土)に開催予定 なんですが、これに関するアイデアだし、ミーティング議事録、TODO 管理なども、GitHub の Issues を活用して行われています。
こういった感じで、ペパボでは開発以外にも、様々な形で GitHub を活用しています。