また、Organization[1]の数も360を超え[2]、リポジトリ数もOrganizationのものだけでも2000近く作られています[3]。 新規のプロジェクトは基本的にGitを利用しており、既存プロジェクトもほとんどがSubversion(以下SVN)などからGitに移行しました。
本記事では、Ameba事業本部がどのようにGitを組織内に普及させていったか、その運用体制、現場でどのように利用されているのかをご紹介します。
[1] 複数アカウントをまとめるグループ機能です。リポジトリは個人単位だけでなく、Organization単位で作ることもできます。
[2] プロジェクト単位で1つのOrganizationを用意しています。
[3] 個人アカウントで作成したり、他からforkしたリポジトリは除いた数です。
GitHub Enterprise導入への道のり
GHE導入以前の標準リポジトリはSVNでした。 Gitを使いたいというプロジェクトもありましたが、Gitの共通リポジトリは存在しなかったため、プロジェクトごとに個別にGitLabなどを立ててGitを利用している状況でした。
やがてエンジニアの中から「Gitを標準リポジトリにしてほしい」という声が高まり、2013年にGitを正式導入することが決定しました。 GitリポジトリにはGHE以外にも、GitHub private、BitBucket、GitLab、Gitoriousなど様々な選択肢があります。 選定基準としては、セキュリティ、提供されている機能、運用のしやすさ、コストなどがありましたが、現場からはGitHubのようなソーシャルコーディングの環境が求める声も多かったため、ソーシャルコーディングのしやすさも重要なポイントでした。 そして総合的な判断の結果、GHEを採用することとなりました。
こうして標準リポジトリとしてのGit環境が用意されました。 しかし、環境を提供するだけでは従来のSVNと併用されてしまい、導入前よりも現場の負担が増えてしまう懸念がありました。
そこで現場にGitを浸透させ、組織内の標準リポジトリをGitで統一するために、一部のエンジニアたちが普及活動を始めました。 筆者もその一人であり、GHE導入前に、Git初心者を対象とした勉強会を開催しました。 標準リポジトリをGitに統一する動きはすでに伝わっていたため、勉強会に対する注目度は高く、エンジニアだけでなくデザイナーやプロデューサーも勉強会に参加してくれました。 会場参加者とライブ中継閲覧者を合わせると、300人以上が参加していたようです。
なお、そのときに使用した資料がSlideShareにアップロードされています。19万を超えるPVを集めたこの資料は、その後、書籍『Git逆引き入門』や、本記事の執筆へとつながりました。
他にもGitHub勉強会を開催したり、Gitを利用するためのGUIツールのマニュアル(下図)を用意したり、Gitに詳しいエンジニアがそれぞれの現場でサポートを行ったりと、みんなが、Gitを普及させるための努力を惜しみませんでした。
その結果、GHE導入決定から実際に導入されるまでに1か月程度しかなかったにもかかわらず、ほとんどトラブルも起こらずにGitは現場に浸透していきました。 いまではエンジニアだけでなく、デザイナーやプロデューサーもしっかりGitを使いこなしています。
こうして標準リポジトリはGitに統一されました。