Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マピオン社における GitHub Enterprise 活用事例
Search
One compath
October 17, 2016
Programming
1
540
マピオン社における GitHub Enterprise 活用事例
8/25 Enterprise Development Conference
One compath
October 17, 2016
Tweet
Share
More Decks by One compath
See All by One compath
社内の制度を使って新規事業を⽴ち上げてみた話 OCEM#3
mapion
0
94
新規事業のアプリ、Flutterで作ってます〜U-ROUTEのポイ活対応編〜 OCEM#3
mapion
0
94
ウォーキングアプリ「aruku&」ってどうやって作ってるの? OCEM#3
mapion
0
110
ONE COMPATH/ワンコンパス Company Deck For Engineer(会社紹介資料)
mapion
0
4.3k
ONE COMPATHの地図の開発技術~入門編~ OCEM #2
mapion
0
170
脱レガシー! Aurora PostgreSQLに移行してみた OCEM #2
mapion
1
610
エンジニアなので「技術」で仕事を効率化してみた ~Slack連携でチームの生産性が向上~ OCEM#2
mapion
0
150
20221112_FOSS4G2022Online.pdf
mapion
0
1.3k
ONE COMPATH/ワンコンパス Company Deck(会社資料)
mapion
0
280
Other Decks in Programming
See All in Programming
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
900
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
910
as(型アサーション)を書く前にできること
marokanatani
10
2.6k
ヤプリ新卒SREの オンボーディング
masaki12
0
130
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.5k
C++でシェーダを書く
fadis
6
4.1k
Outline View in SwiftUI
1024jp
1
330
距離関数を極める! / SESSIONS 2024
gam0022
0
280
Ethereum_.pdf
nekomatu
0
460
Arm移行タイムアタック
qnighy
0
320
subpath importsで始めるモック生活
10tera
0
300
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Agile that works and the tools we love
rasmusluckow
327
21k
Building Adaptive Systems
keathley
38
2.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
What's in a price? How to price your products and services
michaelherold
243
12k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオン社における GitHub Enterprise 活用事例
株式会社マピオン 中村 浩士・須藤 宏典
Copyright(c) Mapion Co.,Ltd. All rights reserved. 発表者 自己紹介 2 中村
浩士(なかむら こうじ) • アプリケーションエンジニア • Git歴 = GitHub歴 6年 須藤 宏典(すとう ひろのり) • インフラエンジニア • Git歴 6年、GitHub歴 4年
Copyright(c) Mapion Co.,Ltd. All rights reserved. アジェンダ 3 1. マピオンの紹介とGHEの利用状況
2. アプリケーションエンジニアから見た GitHub Enterprise のいいところ 3. インフラエンジニアから見た GitHub Enterprise のいいところ 4. まとめ
1. マピオンの紹介とGHEの利用状況
Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオンのご紹介 5 1996年に日本初の地図インターネットサービスを開始
Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオンのご紹介 6 名称 :株式会社マピオン 設立 :1997年
1月 20日 資本金 :6億円 代表者 :代表取締役社長 中尾 光宏 従業員数 :92名 (2016年 3月現在) ⇒ 約半数がエンジニア 株主 :凸版印刷 (100%) スローガン:「ココロも、カラダも、動かす マピオン」
Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオンの事業概要 7
Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオンのスマートフォンアプリ 8 地図マピオン 国盗り合戦
日の出日の入 おでかけアルバム キョリ測 マピオンまとめ 超ピンポイント 天気 ちんあなご 恵方マピオン ドコデトッター ココデトッター
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 の自動識別による言語別のリポジトリ数であり、 モジュール化が推進されているものは単純に多い傾向にある
2. アプリケーションエンジニアから見た GitHub Enterprise の良いところ
Copyright(c) Mapion Co.,Ltd. All rights reserved. GitHub Enterprise を活用して変化したこと 11
• コードベースに対するアクティビティ可視化 トピックブランチによる対応中案件の表現など • Pull Request によるコードレビューの定着 相互レビューによるコード品質の向上、ナレッジ共有の促進 • Webアプリケーションの開発ワークフロー CI やデプロイの統合・一本化 • スマートフォンアプリの開発ワークフロー ビルド配信の自動化による開発サイクルの高速化
Copyright(c) Mapion Co.,Ltd. All rights reserved. 改善前のスマホアプリ開発ワークフロー 12 ② ④
⑤ ① Commit / Merge ② ローカル開発環境でのビルド ③ 検証端末へのインストール ④ プロダクトオーナーによるテスト ⑤ 開発チームへのフィードバック ① ③
Copyright(c) Mapion Co.,Ltd. All rights reserved. 自動化された領域 改善後のスマホアプリ開発ワークフロー 13 ①
② ③ ④ ④ ⑤ ⑥ ⑧ ⑦ ① Push / Pull Request / Merge ② Merge による Webhook 通知 ③ CI サーバーでの自動テストとビルド ④ ビルドのアップロードとメール通知 ⑤ 自動テストとビルド結果を Slack へ通知 ⑥ 検証端末へのインストール (OTA配信) ⑦ プロダクトオーナーおよびテスターによるテスト ⑧ 開発チームへのフィードバック
Copyright(c) Mapion Co.,Ltd. All rights reserved. スマホアプリ開発ワークフローの主な改善点 14 • 手作業
(ビルド、インストール) の自動化 Merge を行うと OTA 配信準備まで一気通貫で行われる テスト実施者も URL にアクセスするだけでインストール可能 • ビルド環境の差異による作業ミス撲滅 環境変数でのデバッグ切替で過去に一度失敗していた • CI との統合 自動テストの定期的な実行および結果の通知 実装〜フィードバックのサイクル短縮による アプリケーション品質の向上に大きく寄与!
Copyright(c) Mapion Co.,Ltd. All rights reserved. Pull Request によるコードレビューの風景 15
Copyright(c) Mapion Co.,Ltd. All rights reserved. GitHub Enterprise を活用するメリット 16
• コードベースがワークフローの中心となる アクティビティの可視化、コードレビュー、ビルドトリガ エンジニアが開発フェーズで行うことが集約される • エンジニアのコミュニケーション活性化 Pull Request によるコードレビュー Issues でのディスカッションや、Wiki による情報共有 • 開発ワークフローを改善する「梃」になる Webhooks による他ツールとの統合・自動化 組み合わせのアイデア次第で様々な課題が解決できる
3. インフラエンジニアから見た GitHub Enterprise の良いところ
Copyright(c) Mapion Co.,Ltd. All rights reserved. なぜGitHub Enterpriseか 18 •
GitHub 有料版 VS GitHubEnterprise Codeを社内環境にもてること →社内のソース管理のSecurityPolicyに抵触し づらい →Local IPアドレスにおくことでセキュリティ の設計が楽になる
Copyright(c) Mapion Co.,Ltd. All rights reserved. AWS + GitHub Enterprise
19 • AWS上にGHEインスタンスで構築 • アクセスは内部ネットワーク VPC peering VPC 01 OtherVPC DirectConnect (専用線) OtherVPC 別データセンター
Copyright(c) Mapion Co.,Ltd. All rights reserved. AWS + GitHub Enterprise
20 • GHEの進化は早い • 保守的思考=バージョンアップをしないで安定 を志向すると効率に影響が • アグレッシブにバージョンアップすることと安 定性を保つことの両立をいかに図るかの視点が 大事 クラウドと相性がよかった GHEのAmazon Web Service版
Copyright(c) Mapion Co.,Ltd. All rights reserved. マピオンでの運用方法 21 • GHEのAWS版
• イメージを起動してGUIで設定するだけ デイリー Backup
Copyright(c) Mapion Co.,Ltd. All rights reserved. バージョンアップ運用 22 新バージョン 旧バージョン
Dump Restore
Copyright(c) Mapion Co.,Ltd. All rights reserved. バージョンアップ運用 23 新バージョン 旧バージョン
DNS向き先
Copyright(c) Mapion Co.,Ltd. All rights reserved. バージョンアップ運用 24 新バージョン 旧バージョン
DNS向き先 停止状態へ…
Copyright(c) Mapion Co.,Ltd. All rights reserved. バージョンアップ運用 25 • 1.新バージョンの検証期間 (2週程度)
• 2.旧バージョンをいつでも再開できる状態で新 バージョンを稼働開始 • 3.比較的短時間でバージョンアップができる 標準のバージョンアップ機能をあえて使わ ないことで、いつでも簡単に完全に切り戻 せる状態をつくっている
4. まとめ
Copyright(c) Mapion Co.,Ltd. All rights reserved. GitHub Enterprise をうまく活用するコツ 27
ツールの導入だけでここまでの変化や改善が発生し たわけではない。 ツールを活用する文化・気質が重要! 以下のようなエンジニアがチームに一人以上いると うまく作用するのでは? • ワークフロー改善に関心が強い • 良い開発プラクティスを導入して広めるのが得意 • なにより GitHub での開発が楽しい! 該当するエンジニアがいれば啓蒙担当に任命する、 いなければ誰かにそうなってもらうよう働きかけを 組織として行うことをしたほうがよい。
Copyright(c) Mapion Co.,Ltd. All rights reserved. GHE の啓蒙活動 28 GithubはGithub
fowを含めて、若干敷居 が高い。新しく入ってくる従業員、派遣の 方などにも啓蒙し続けたい。 講師の方を招いて(マクニカネットワークス さん)Githubの習熟度が低いエンジニア・新 卒エンジニアむけの講習会を開く。 →Github fowの技術共有(ボトムアップ)
Copyright(c) Mapion Co.,Ltd. All rights reserved. まとめ 29 • GitHub
Enterprise は開発ワークフローをより 良く変化させるための「梃」となりうるツール • マピオン社ではその梃をうまく活用して、ワー クフローの改善ができていると感じている • まだまだ活用できる部分もあるので、多くの企 業で導入され、様々な活用事例が共有されてい くことを期待しています