GitHubが変えるこれからのチーム開発

劇的に変化したソフトウェア開発の現場

十数年前まで、バージョン管理ソフトさえ導入していない開発現場も珍しくありませんでした。しかし現在ではその状況は一変し、Web企業だけでなく、銀行やメーカー、小売業といったあらゆる業界の企業が、ビジネスの中心にソフトウェアを据えるようになっています。そのような時代の開発現場において、大企業を中心にデファクトスタンダードとして選ばれているのがGitHub Enterprise(以下GHE)です。

図1 GitHub EnterpriseのWebページ

GitHubの思想とは

GHEについて解説する前に、まず「GitHubの思想」について触れていきます。これを理解できると、なぜこのツールが世界中のエンジニアから支持されているのかが見えてくるはずです。

「プロジェクト」から「人」

従来の開発ツールでは、⁠プロジェクト」を中心に考えられていました。しかし、GitHubの思想は違います。主役はあくまで「人」です。⁠あのプロジェクトのコード」ではなく、⁠あの人が書いたコード」として扱い、エンジニア一人ひとりの活動を見える化して、オープンにつながり合うことで、開発のエネルギーを最大化させる。それがGitHubの根底にある考え方です。

「Pull Request」という発明

GitHubを象徴する機能がPull Request(プルリクエスト)です。これは単にコードの変更を通知するだけの機能ではありません。⁠ここを修正してみたんだけど、どうかな」という対話を開発プロセスの中に生み出す仕組みです。コードレビューが自然に行われ、チーム内でナレッジが共有されることで、結果としてソフトウェアの品質向上が期待できます。GitHubは単なるツールではなく、企業文化を変える「触媒」となり得るのです。

GitHub Enterpriseは「統合開発プラットフォーム」

では、企業向けプランであるGHEは、個人で利用するGitHubと何が違うのでしょうか。一言で言えば、GHEは単なるバージョン管理ツールではなく、企業に必要なセキュリティと統制を備えた統合開発プラットフォームです。

鉄壁のセキュリティとガバナンス

企業利用で最も重要なのが「守り」です。GHEは以下のような高度な管理機能を提供します。

  • 認証の強化:SAMLやLDAP、SCIMといった仕組みを使って、社内の社員データベースと連携したユーザー管理が可能です。退職者のアクセス権も自動的に停止できます。
  • 監査ログ:「誰が」⁠いつ」⁠何をしたか」を詳細に記録し、監査やコンプライアンス対応を容易にします。
  • 機密情報の保護:AWSのアクセスキーなどが誤ってコードに含まれた際、それを検知してブロックする機能や、OSSの脆弱性検知機能が備わっています。

開発プロセスの自動化

今やテストやリリースの自動化も欠かせない機能になっています。GHEにはGitHub Actionsが統合されています。外部のCIツールを導入しなくても、GitHubの中で「コードを書く→テストする→本番環境へ反映する」という一連の流れを完結できます。これにより、開発者はツールを行き来するストレスから解放されます。

組織に合わせた柔軟な管理

数十人、数百人の開発者を抱える企業のために、OrganizationやTeamという概念があります。⁠正社員と外部パートナーでリポジトリの見え方を変える」⁠部署ごとの階層構造に合わせて権限を付与する」といった、きめ細やかなコントロールが可能です。


しかし、いざGHEを導入するとなると「開発の自由さ」を尊重しつつ、どうやって「企業の統制」を効かせるか。このバランスこそが難しい課題になっています。

GitHub Enterprise 設定・管理 大全は、元GitHub社のソリューションアーキテクトとして数百社の現場を見てきた著者がその最適解を記した実践書です。⁠IPアドレス制限のかけ方は」⁠監査ログの効率的な運用は」といった具体的な設定手順から、組織運営のベストプラクティスまでを網羅しており、あなたの会社の開発現場を「次のステージ」へ導くための決定版です。

本書の著者

池田尚史(いけだたかふみ)

ITコンサルタントとしてキャリアをスタート。その後コンサルタントからプログラマーに転身し、パッケージソフトウェア開発、Webサービス開発を経て、GitHub日本法人立ち上げなどに関わる。現在はStripeにてパートナーソリューションエンジニアとしてパートナー様の技術支援に従事する。著書にチーム開発実践入門⁠技術評論社、2014年)がある。