SlideShare a Scribd company logo
GitHub Enterprise
の活用事例
GMO ペパボの取り組み
自己紹介
self.introduce
=>
{
name: “SHIBATA Hiroshi”,
nickname: “hsbt”,
title: “Chief engineer at GMO Pepabo, Inc.”,
commit_bits: [“ruby”, “rake”, “rubygems”, “rdoc”, “tdiary”,
“hiki”, “railsgirls”, “railsgirls-jp”, “jenkins”],
sites: [“ruby-lang.org”, “rubyci.com”, “railsgirls.com”,
“railsgirls.jp”],
}
会社組織
GMO ペパボ
• 本社: 東京都渋谷区、支社: 福岡県福岡市
• 設立日: 2003年1月10日
• 従業員数: 231名
• 企業理念: もっとおもしろくできる
• ミッション: インターネットで可能性をつなげる、ひろ
げる
事業部制
• サービスを担当する事業部
• 本社事業部
• EC事業部
• ホスティング事業部
• …
• バックオフィスを担当する事業部
• 経営管理部
• 経営戦略部
GitHub
Enterprise
ペパボの GHE 導入の歴史(1)
• 2012: trac, redmine などサービスやプロジェクトごとに自
由に選択
• 2012: 一部のプロジェクトで github.com/paperboy-* という
org アカウントを作成して github の利用を開始
• 2013: 社内の半分程度のサービスが github.com を利用開始
• 2013: 一部のプロジェクトがセキュリティの問題で
github.com を利用できないため GitHub Enterprise を導入
GitHub Enterprise 導入時の状況
• 社内であまっているサーバーに linux と virtualbox をイン
ストールし headless で起動
• 監視については nagios/munin を自前で構築
• 部署として面倒を見ていくわけではなく、技術基盤チー
ムの1エンジニアが導入と運用を担当
ペパボの GHE 導入の歴史(2)
• 2014: 社内の全てのサービスが github.com か GHE のいずれ
かを利用
• 2014: サービスだけではなくバックオフィスも利用を開始
• 2014: 全社員が GHE のアカウントを保有して情報共有する
ということに社長から方針決定(緩く)
• 2014: github.com を利用していたサービスもアカウント管
理の煩雑さを解消するために GHE へ引っ越し
GHE 集約期の状況
• github.com も GHE も社員全員が広く情報にアクセスでき
るようにということで全員に write 権限を付与(200人…)
• アカウント管理用のスクリプトを作成し、定期実行
def users
ghe = Octokit::Client.new(:access_token => configuration['access_token'])
@_users ||= [0, 100, 200, 300, 400].each.with_object([]) do |start, memo|
ghe.all_users(:since => start).map do |user|
if !(partner_users + exclude_users).include?(user.login) && user.type == 'User'
memo << user.login
end
end
end
@_users
end
ペパボのGHE導入の歴史(3)
• 2015: 全サービスが GHE を用いて開発する状況になる
• 2015: 慢性的な高負荷と virtual box 脱却のために OpenStack
基盤への移設を実行(GHE 2)
• 2015: GHE 2.x への継続的なアップデート中
全社員が使う
GHE
エンジニア評価資料を pull request で作成
誰でも評価資料を閲覧
することができる
誰でも評価資料にコメ
ントすることができる
誰でも評価結果を閲覧
することができる
透明性
開発とCSと企画のコミュニケーション
• “仕事”の情報のほとん
どを GHE に集約
• 仕事が始まった/終
わったということを
可視化
• 仕事がどういう状態
にあるのかというこ
とをはっきりさせる
全社員のアクティビティ = 開発力
1週間の
• issue 作成と close は
650 前後
• issue コメントは 7100
• pull request の作成は
520超、merge は 440
GHEで
開発速度を
上げていく
OpenStack
GHE on OpenStack
OpenStack の説明は省略
• vCPU 4, 32GB RAM, 85GB root drive で作成
• 80GB と手順書に書いてあったが起動できなかったので
OpenStack のホストマシンにログインしてデバッグ…
• Cinder(AWS の EBS) を構築して GHE 2.1 で無事 OpenStack で
起動
• ストレージコンポーネントの構築大変だった…
OpenStack での利用状況
利用者増とGHEの普及の広がりにともないリソース不足気味
困っていること
アカウントのステータス管理
全社員が使うようになると社員のステータスと GHE のス
テータスのミスマッチが発生する
(入社、退職、休職) and (正社員、派遣社員、アルバイト)
社員は全 orgs に API を使って write 付与、派遣社員は… 休
職になったら…という作業が若干煩雑
orgs を超えたアカウントのグルーピングがあると嬉しい
情報共有手段と通知
issue, wiki, repository(git) バラバラに情報を記入している
→ qiita や esa のようなドキュメンテーションツールが gist
のように使えると統一できそう
notification が default on なので興味がないリポジトリでも
write 権限付与の時点でどんどんメールが飛んでくる
→ default off にしたい
良かったこと
GHE のデプロイ、運用の仕組み
• CoreOS のようなボリューム入れ替えアップグレードの仕
組み
• db:migrate を job worker で実行するような無人アップグ
レードの手順
• pt-achiver, pt-online-schema-change のような db オペレー
ションツールの具体的な使い方
…etc…etc
社員募集中!
技術基盤チーム & 情報システムグループのエンジニア
主なミッション
• 全社横断の開発基盤の構築、運用(OpenStack、GHEなど)
• 社内システムの構築、移設、刷新
• セキュリティ、監査、内部統制と開発スピードのバラン
スをとったソリューションの構築
毎日 GitHub を使って開発・運用をやりたい人募集してます!

More Related Content

PDF
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
PDF
S14 t3 yosuke_yamashita
PDF
とある Perl Monger の働き方
PDF
GitHub Enterpriseの導入事例と実践GitHub Actions
PDF
「新しい」を生み出すためのWebアプリ開発とその周辺
PDF
ソーシャルゲーム開発における運用とそのツール
PDF
第八回 #渋谷Java 最近のjava PaaS事情
PDF
Webページが表示されるまで
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
S14 t3 yosuke_yamashita
とある Perl Monger の働き方
GitHub Enterpriseの導入事例と実践GitHub Actions
「新しい」を生み出すためのWebアプリ開発とその周辺
ソーシャルゲーム開発における運用とそのツール
第八回 #渋谷Java 最近のjava PaaS事情
Webページが表示されるまで

What's hot (16)

PDF
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
PDF
chat bot framework for Java8
PDF
Hatena blogdevelopmentflow
PDF
Go (5) JAZUG 関西とゆかいな仲間たち的な
PPTX
ガチリアルな修羅チーム開発
PDF
Webの仕組みとプログラミング言語
PDF
Wantedlyを2年間Herokuで運用した話
PDF
「Webサービスのつくり方」 のつくり方
PDF
【Camphor ×サイボウズ】selenium勉強会
PDF
High Performance Gulp
PDF
ゲーム会社でのRuby : rails活用事例
PPTX
次世代エンタープライズの開発環境をライブで読み解く
PDF
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
PDF
Web技術勉強会 20120609
PDF
Mojoliciousでつくる! Webアプリ入門
PPTX
gcpug_okinawa_#2_hiroshi_kawakami
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
chat bot framework for Java8
Hatena blogdevelopmentflow
Go (5) JAZUG 関西とゆかいな仲間たち的な
ガチリアルな修羅チーム開発
Webの仕組みとプログラミング言語
Wantedlyを2年間Herokuで運用した話
「Webサービスのつくり方」 のつくり方
【Camphor ×サイボウズ】selenium勉強会
High Performance Gulp
ゲーム会社でのRuby : rails活用事例
次世代エンタープライズの開発環境をライブで読み解く
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
Web技術勉強会 20120609
Mojoliciousでつくる! Webアプリ入門
gcpug_okinawa_#2_hiroshi_kawakami
Ad

Viewers also liked (17)

PDF
Middleware as Code with mruby
PDF
High Performance tDiary
PDF
AWS初心者向けWebinar AWSクラウドでのWindowsの実行
PDF
Middleware as Code with mruby
PDF
How to Begin Developing Ruby Core
PDF
Large-scaled Deploy Over 100 Servers in 3 Minutes
PDF
How DSL works on Ruby
PDF
How to test code with mruby
PDF
How to Begin to Develop Ruby Core
PDF
成長を加速する minne の技術基盤戦略
PDF
mruby で mackerel のプラグインを作るはなし
PDF
Practical Testing of Ruby Core
PDF
Practical ngx_mruby
PDF
The story of language development
PDF
Advanced technic for OS upgrading in 3 minutes
PDF
Usecase examples of Packer
PDF
技術的負債との付き合い方
Middleware as Code with mruby
High Performance tDiary
AWS初心者向けWebinar AWSクラウドでのWindowsの実行
Middleware as Code with mruby
How to Begin Developing Ruby Core
Large-scaled Deploy Over 100 Servers in 3 Minutes
How DSL works on Ruby
How to test code with mruby
How to Begin to Develop Ruby Core
成長を加速する minne の技術基盤戦略
mruby で mackerel のプラグインを作るはなし
Practical Testing of Ruby Core
Practical ngx_mruby
The story of language development
Advanced technic for OS upgrading in 3 minutes
Usecase examples of Packer
技術的負債との付き合い方
Ad

Similar to GitHub Enterprise with GMO Pepabo (20)

PDF
GitHubのIssue作成について
PPTX
匠メソッドを導入したらサイトのサクセスが10倍になった話〜connpassの事例その他
PDF
【デブサミ夏A5】LINE開発におけるGitHub Enterprise導入
PDF
高さ比べじゃない、キャリアは歩んできた道
KEY
自社開発をしていなかった会社が Python を選んだ理由
PPTX
Tech lounge gcp_20190313
PDF
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
PDF
Productive Organization with Ruby
PDF
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
PDF
決済金融から始めるデータドリブンカンパニー #yjmu
PDF
会社にGitHub Enterpriseを導入してみた話
POTX
決済金融から始めるデータドリブンカンパニー
PDF
今時のオンプレなgithubクローン環境構築
PDF
スクレイピングその後
PDF
GCPでお手軽IoTに挑戦
PDF
Git hubenterpriseを導入してみて
PPTX
発達障害と起業と継続可能な社会 〜Startup Weekend Kitakyushu vol6.によせて〜 
PPTX
サービスリニューアルからの チームの変遷
PDF
DX Suite & UiPath さっくり読み取りさっくり連携
PPTX
au Webポータル デプロイ・ジャーニー
GitHubのIssue作成について
匠メソッドを導入したらサイトのサクセスが10倍になった話〜connpassの事例その他
【デブサミ夏A5】LINE開発におけるGitHub Enterprise導入
高さ比べじゃない、キャリアは歩んできた道
自社開発をしていなかった会社が Python を選んだ理由
Tech lounge gcp_20190313
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Productive Organization with Ruby
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
決済金融から始めるデータドリブンカンパニー #yjmu
会社にGitHub Enterpriseを導入してみた話
決済金融から始めるデータドリブンカンパニー
今時のオンプレなgithubクローン環境構築
スクレイピングその後
GCPでお手軽IoTに挑戦
Git hubenterpriseを導入してみて
発達障害と起業と継続可能な社会 〜Startup Weekend Kitakyushu vol6.によせて〜 
サービスリニューアルからの チームの変遷
DX Suite & UiPath さっくり読み取りさっくり連携
au Webポータル デプロイ・ジャーニー

More from Hiroshi SHIBATA (20)

PDF
Introduction of Cybersecurity with Ruby at RedDotRubyConf 2024
PDF
Introduction of Cybersecurity with OSS at Code Europe 2024
PDF
Long journey of Ruby Standard library at RubyKaigi 2024
PDF
Long journey of Ruby standard library at RubyConf AU 2024
PDF
Deep dive into Ruby's require - RubyConf Taiwan 2023
PDF
How resolve Gem dependencies in your code?
PDF
How resolve Gem dependencies in your code?
PDF
Ruby コミッターと歩む Ruby を用いたプロダクト開発
PDF
Why ANDPAD commit Ruby and RubyKaigi?
PDF
RailsGirls から始める エンジニアリングはじめの一歩
PDF
How to develop the Standard Libraries of Ruby?
PDF
The details of CI/CD environment for Ruby
PDF
Dependency Resolution with Standard Libraries
PDF
Roadmap for RubyGems 4 and Bundler 3
PDF
The Future of library dependency management of Ruby
PDF
Ruby Security the Hard Way
PDF
OSS Security the hard way
PDF
The Future of library dependency manageement of Ruby
PDF
The Future of Dependency Management for Ruby
PDF
The Future of Bundled Bundler
Introduction of Cybersecurity with Ruby at RedDotRubyConf 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby standard library at RubyConf AU 2024
Deep dive into Ruby's require - RubyConf Taiwan 2023
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Why ANDPAD commit Ruby and RubyKaigi?
RailsGirls から始める エンジニアリングはじめの一歩
How to develop the Standard Libraries of Ruby?
The details of CI/CD environment for Ruby
Dependency Resolution with Standard Libraries
Roadmap for RubyGems 4 and Bundler 3
The Future of library dependency management of Ruby
Ruby Security the Hard Way
OSS Security the hard way
The Future of library dependency manageement of Ruby
The Future of Dependency Management for Ruby
The Future of Bundled Bundler

GitHub Enterprise with GMO Pepabo