Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マピオン社における GitHub Enterprise 活用事例

マピオン社における GitHub Enterprise 活用事例

8/25 Enterprise Development Conference

One compath

October 17, 2016
Tweet

More Decks by One compath

Other Decks in Programming

Transcript

  1. Copyright(c) Mapion Co.,Ltd. All rights reserved. 発表者 自己紹介 2 中村

    浩士(なかむら こうじ) • アプリケーションエンジニア • Git歴 = GitHub歴 6年 須藤 宏典(すとう ひろのり) • インフラエンジニア • Git歴 6年、GitHub歴 4年
  2. Copyright(c) Mapion Co.,Ltd. All rights reserved. アジェンダ 3 1. マピオンの紹介とGHEの利用状況

    2. アプリケーションエンジニアから見た   GitHub Enterprise のいいところ 3. インフラエンジニアから見た   GitHub Enterprise のいいところ 4. まとめ
  3. Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオンのご紹介 6 名称   :株式会社マピオン 設立   :1997年

    1月 20日 資本金  :6億円 代表者  :代表取締役社長 中尾 光宏 従業員数 :92名 (2016年 3月現在)       ⇒ 約半数がエンジニア 株主   :凸版印刷 (100%) スローガン:「ココロも、カラダも、動かす        マピオン」
  4. Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオンのスマートフォンアプリ 8 地図マピオン 国盗り合戦

    日の出日の入 おでかけアルバム キョリ測 マピオンまとめ 超ピンポイント 天気 ちんあなご 恵方マピオン ドコデトッター ココデトッター
  5. Copyright(c) Mapion Co.,Ltd. All rights reserved. GitHub Enterprise の利用状況 9

    • 利用開始は 2012年 3月〜 • 2016年 8月現在 60+ Active Users 20+ Organizations 450+ Repositories Java(113), Ruby(61), JavaScript(58), HTML(36), Python(31), Shell(30), Objective-C(16), PHP(13), Scala(11), etc... ※ GitHub の自動識別による言語別のリポジトリ数であり、   モジュール化が推進されているものは単純に多い傾向にある
  6. Copyright(c) Mapion Co.,Ltd. All rights reserved. GitHub Enterprise を活用して変化したこと 11

    • コードベースに対するアクティビティ可視化 トピックブランチによる対応中案件の表現など • Pull Request によるコードレビューの定着 相互レビューによるコード品質の向上、ナレッジ共有の促進 • Webアプリケーションの開発ワークフロー CI やデプロイの統合・一本化 • スマートフォンアプリの開発ワークフロー ビルド配信の自動化による開発サイクルの高速化
  7. Copyright(c) Mapion Co.,Ltd. All rights reserved. 改善前のスマホアプリ開発ワークフロー 12 ② ④

    ⑤ ① Commit / Merge ② ローカル開発環境でのビルド ③ 検証端末へのインストール ④ プロダクトオーナーによるテスト ⑤ 開発チームへのフィードバック ① ③
  8. Copyright(c) Mapion Co.,Ltd. All rights reserved. 自動化された領域 改善後のスマホアプリ開発ワークフロー 13 ①

    ② ③ ④ ④ ⑤ ⑥ ⑧ ⑦ ① Push / Pull Request / Merge ② Merge による Webhook 通知 ③ CI サーバーでの自動テストとビルド ④ ビルドのアップロードとメール通知 ⑤ 自動テストとビルド結果を Slack へ通知 ⑥ 検証端末へのインストール (OTA配信) ⑦ プロダクトオーナーおよびテスターによるテスト ⑧ 開発チームへのフィードバック
  9. Copyright(c) Mapion Co.,Ltd. All rights reserved. スマホアプリ開発ワークフローの主な改善点 14 • 手作業

    (ビルド、インストール) の自動化 Merge を行うと OTA 配信準備まで一気通貫で行われる テスト実施者も URL にアクセスするだけでインストール可能 • ビルド環境の差異による作業ミス撲滅 環境変数でのデバッグ切替で過去に一度失敗していた • CI との統合 自動テストの定期的な実行および結果の通知 実装〜フィードバックのサイクル短縮による アプリケーション品質の向上に大きく寄与!
  10. Copyright(c) Mapion Co.,Ltd. All rights reserved. GitHub Enterprise を活用するメリット 16

    • コードベースがワークフローの中心となる アクティビティの可視化、コードレビュー、ビルドトリガ エンジニアが開発フェーズで行うことが集約される • エンジニアのコミュニケーション活性化 Pull Request によるコードレビュー Issues でのディスカッションや、Wiki による情報共有 • 開発ワークフローを改善する「梃」になる Webhooks による他ツールとの統合・自動化 組み合わせのアイデア次第で様々な課題が解決できる
  11. Copyright(c) Mapion Co.,Ltd. All rights reserved. なぜGitHub Enterpriseか 18 •

    GitHub 有料版 VS GitHubEnterprise Codeを社内環境にもてること →社内のソース管理のSecurityPolicyに抵触し づらい →Local IPアドレスにおくことでセキュリティ の設計が楽になる
  12. Copyright(c) Mapion Co.,Ltd. All rights reserved. AWS + GitHub Enterprise

    19 • AWS上にGHEインスタンスで構築 • アクセスは内部ネットワーク VPC peering VPC 01 OtherVPC DirectConnect (専用線) OtherVPC 別データセンター
  13. Copyright(c) Mapion Co.,Ltd. All rights reserved. AWS + GitHub Enterprise

    20 • GHEの進化は早い • 保守的思考=バージョンアップをしないで安定 を志向すると効率に影響が • アグレッシブにバージョンアップすることと安 定性を保つことの両立をいかに図るかの視点が 大事 クラウドと相性がよかった GHEのAmazon Web Service版
  14. Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオンでの運用方法 21 • GHEのAWS版

    • イメージを起動してGUIで設定するだけ デイリー Backup
  15. Copyright(c) Mapion Co.,Ltd. All rights reserved. バージョンアップ運用 25 • 1.新バージョンの検証期間 (2週程度)

    • 2.旧バージョンをいつでも再開できる状態で新 バージョンを稼働開始 • 3.比較的短時間でバージョンアップができる 標準のバージョンアップ機能をあえて使わ ないことで、いつでも簡単に完全に切り戻 せる状態をつくっている
  16. Copyright(c) Mapion Co.,Ltd. All rights reserved. GitHub Enterprise をうまく活用するコツ 27

    ツールの導入だけでここまでの変化や改善が発生し たわけではない。 ツールを活用する文化・気質が重要! 以下のようなエンジニアがチームに一人以上いると うまく作用するのでは? • ワークフロー改善に関心が強い • 良い開発プラクティスを導入して広めるのが得意 • なにより GitHub での開発が楽しい! 該当するエンジニアがいれば啓蒙担当に任命する、 いなければ誰かにそうなってもらうよう働きかけを 組織として行うことをしたほうがよい。
  17. Copyright(c) Mapion Co.,Ltd. All rights reserved. GHE の啓蒙活動 28 GithubはGithub

    fowを含めて、若干敷居 が高い。新しく入ってくる従業員、派遣の 方などにも啓蒙し続けたい。 講師の方を招いて(マクニカネットワークス さん)Githubの習熟度が低いエンジニア・新 卒エンジニアむけの講習会を開く。 →Github fowの技術共有(ボトムアップ)
  18. Copyright(c) Mapion Co.,Ltd. All rights reserved. まとめ 29 • GitHub

    Enterprise は開発ワークフローをより 良く変化させるための「梃」となりうるツール • マピオン社ではその梃をうまく活用して、ワー クフローの改善ができていると感じている • まだまだ活用できる部分もあるので、多くの企 業で導入され、様々な活用事例が共有されてい くことを期待しています