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

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

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

8/25 Enterprise Development Conference

Avatar for One compath

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