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
490
マピオン社における 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
52
新規事業のアプリ、Flutterで作ってます〜U-ROUTEのポイ活対応編〜 OCEM#3
mapion
0
47
ウォーキングアプリ「aruku&」ってどうやって作ってるの? OCEM#3
mapion
0
73
ONE COMPATH/ワンコンパス Company Deck For Engineer(会社紹介資料)
mapion
0
3.2k
ONE COMPATHの地図の開発技術~入門編~ OCEM #2
mapion
0
130
脱レガシー! Aurora PostgreSQLに移行してみた OCEM #2
mapion
1
350
エンジニアなので「技術」で仕事を効率化してみた ~Slack連携でチームの生産性が向上~ OCEM#2
mapion
0
120
20221112_FOSS4G2022Online.pdf
mapion
0
970
ONE COMPATH/ワンコンパス Company Deck(会社資料)
mapion
0
260
Other Decks in Programming
See All in Programming
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
180
Semantic search with Django and pgvector
pauloxnet
0
240
チーム力を高めるスクラム実践法:カンバン公開と課題攻略について - ニフティのスクラムトーク Vol. 2 - NIFTY Tech Talk #18
niftycorp
PRO
1
110
Ruby Function Composition
bkuhlmann
1
330
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
480
CQRS/ES avec Symfony, c’est (trop) bien !
jeremyfreeagent
1
630
Netty Chicago Java User Group 2024-04-17
sullis
0
130
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
110
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
350
Site Reliability Engineering for GMO
pyama86
6
960
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
230
エンターテイメント業界で利用されるAWS
demuyan
0
200
Featured
See All Featured
Code Review Best Practice
trishagee
54
15k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
The Invisible Side of Design
smashingmag
294
49k
Ruby is Unlike a Banana
tanoku
96
10k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Embracing the Ebb and Flow
colly
79
4.1k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Statistics for Hackers
jakevdp
789
220k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
Building Adaptive Systems
keathley
30
1.8k
The Cost Of JavaScript in 2023
addyosmani
14
3.8k
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 は開発ワークフローをより 良く変化させるための「梃」となりうるツール • マピオン社ではその梃をうまく活用して、ワー クフローの改善ができていると感じている • まだまだ活用できる部分もあるので、多くの企 業で導入され、様々な活用事例が共有されてい くことを期待しています