SlideShare a Scribd company logo
1 of 81
2013-01-23 GREE Tech Talk#02
Takafumi ONAKA a.k.a. @onk




                               1
Sorry
        2
I’m not good at English.
So, I use machine translate.
                               3
Introducing myself
                     4
we're hiring
               5
• Name:
 •@onk
 • Takafumi ONAKA (大仲 能史)
• Work:
 • Social Game Developer
 • Application Engineer


                            6
Today’s talk
               7
In conclusion, Use github enterprise
                                       8
Gitlab is «poormans github enterprise»
                                         9
• 暗黒のsubversion期
• Github enterpriseを試用→挫折
• Gitlabとの出会い
• Subversionからの移行
• 俺たちの戦いはこれからだ!!

                            10
Dark ages reign of subversion




                                11
Our subversion branches
                          12
trunk

staging

release


          3 main branches
                            13
trunk

staging

release


          Commit to trunk
                            14
trunk

staging

release


        Cherry pick & test on staging
                                        15
trunk

staging

release


          release
                    16
trunk

staging

release


          commit
                   17
trunk

staging

release


          Cherry-pick
                        18
trunk

staging

release


          release
                    19
Many problems
                20
• ブランチ作成コストが重い




  cost of making a branch is high
                                    21
• 数百commitの中から今回リリース
  すべき100commitを見つけ、適切
  にconflictを解消しつつmergeする


Cherry pick requires the skill of an artisan
                                          22
• 1アプリに1人merge職人が必要に
  なる
• 職人の数しかアプリを作れない


 So, our make line number is limited
                                       23
• 未mergeのcommit一覧を頻繁に参
  照する
 •`svn mergeinfo --show-revs eligible`



          Fat svn:mergeinfo
                                         24
• 遅い
• Disk IO食いすぎ
• 遅い


        Slow, slow, slow
                           25
want to use git
                  26
Try github enterprise




                        27
28
less use
           29
The tragedy "only I use git, others use svn"
                                         30
Why failure?
               31
Branch strategy mismatch
                           32
Shift of application under running is difficult
                                            33
Long long time of using subversion
      made the track record.
                                     34
“its running”, we get less happiness if shift
                                           35
メリット             デメリット
・速い               ・200アカウント
・Pull request駆動   分の初期コスト
開発                ・教育コスト
・今風で嬉しい           ・移行期の運用速
                  度低下

          Merit / Demerit
                              36
メリット                デメリット

      文化                    金



Merit is “Culture”, Demerit is “Money”
                                         37
Can’t measure culture to money
                                 38
Certainty is missing to make culture
                                       39
Use github enterprise request is rejected
                                        40
Use git without initial cost




                               41
I want to use git and get git cultures
                                         42
How to start using git without initial cost
                                          43
Find “gitlab”
                44
• Github likeなweb UI
• 管理もweb UIで可能
• Pull request機能があるもの
• 今後数年主流になりそうなもの
      Basis of selection:
     Web UI & pull request
                             45
When using except github
select language and a framework maintainable
           by two or more persons.
                                          46
i have to continue eating dog food.
                                      47
It will fail, if a maintainer is fixed
                                         48
Gitlab is made by Ruby on Rails
                                  49
80 ruby engineers are in our company.
                                        50
We can maintain if modern Rails application
                                         51
Gitlab is on latest rails and modern libraries
                                           52
It uses with some corrections
                                53
Judged satisfactory
                      54
no necessity if there is even money
                                      55
subversion to gitlab




                       56
Learn from a failure,
and make shift strategy
                          57
Cross commit by git-svn
                          58
git
    topic   topic
master

                    subversion

trunk



                           59
Not change release flow during the combined use.
                                            60
let everyone used to use git in this period
                                          61
Can release without cherry-pick, throw away svn
                                            62
63
`git svn fetch` needs some weeks
                                   64
• 全プロジェクトを全ユーザが閲覧
  可能に
• README.mdの表示

  The features we added to gitlab
     - Authentication change
                                    65
• git-svnによるクロスコミット
• Merge Requestにdescription追加



  - Cross commit by using git-svn
- Add description for “merge request”
                                    66
• Push時にIssue/MRに紐づける
• 監視



   - Commit to issue relations
        - Supervises
                                 67
no necessity if there is even money
                                      68
• Commit mail
• 各種通知bot



     Make some notify bot for git
                                    69
There is more pleasant than making the tool for svn

                                                70
More improvement!




                    71
Sorry
        72
Now is during the combined use
                                 73
Feeling from using gitlab
                            74
I’m sure “pull request is JUSTICE”
                                     75
I waited for this flow very long
                                   76
Conclusion




             77
• サーバに入れる
• Gitリポジトリを直接操作可能
• 柔軟な移行手順を踏める
            Gitlab’s merit
       - Can log in to server
- flexible shift procedure can be used
                                         78
• Pull requestのない環境で文化を作
  るのは難しい
• gitlabで文化を作れるようになっ
  た
• GHEであればしなくてもいい苦労
  はあるが、gitlabは妥当な代替

                       79
Thank you
            80
81

More Related Content

What's hot

Git Flow and JavaScript Coding Style
Git Flow and JavaScript Coding StyleGit Flow and JavaScript Coding Style
Git Flow and JavaScript Coding StyleBo-Yi Wu
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github Max Claus Nunes
 
Gitlab and Lingvokot
Gitlab and LingvokotGitlab and Lingvokot
Gitlab and LingvokotLingvokot
 
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro WorkshopOpen Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro WorkshopWong Hoi Sing Edison
 
Helios in Action: Git at Eclipse
Helios in Action: Git at EclipseHelios in Action: Git at Eclipse
Helios in Action: Git at EclipseChris Aniszczyk
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsBo-Yi Wu
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Enterprise git
Enterprise gitEnterprise git
Enterprise gitPedro Melo
 
Java 開発者のための次世代 DevOps: BinOps
Java 開発者のための次世代 DevOps: BinOpsJava 開発者のための次世代 DevOps: BinOps
Java 開発者のための次世代 DevOps: BinOpsTsuyoshi Miyake
 
Know the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhubKnow the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhubEdureka!
 

What's hot (20)

Git Flow and JavaScript Coding Style
Git Flow and JavaScript Coding StyleGit Flow and JavaScript Coding Style
Git Flow and JavaScript Coding Style
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
 
Git'in on Windows
Git'in on WindowsGit'in on Windows
Git'in on Windows
 
Gitlab and Lingvokot
Gitlab and LingvokotGitlab and Lingvokot
Gitlab and Lingvokot
 
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro WorkshopOpen Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
 
Git'in in 15
Git'in in 15Git'in in 15
Git'in in 15
 
Flow
FlowFlow
Flow
 
Helios in Action: Git at Eclipse
Helios in Action: Git at EclipseHelios in Action: Git at Eclipse
Helios in Action: Git at Eclipse
 
Git in Eclipse
Git in EclipseGit in Eclipse
Git in Eclipse
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Git training with Devaamo
Git training with DevaamoGit training with Devaamo
Git training with Devaamo
 
Enterprise git
Enterprise gitEnterprise git
Enterprise git
 
Git Basics Philips
Git Basics PhilipsGit Basics Philips
Git Basics Philips
 
Java 開発者のための次世代 DevOps: BinOps
Java 開発者のための次世代 DevOps: BinOpsJava 開発者のための次世代 DevOps: BinOps
Java 開発者のための次世代 DevOps: BinOps
 
Mini git tutorial
Mini git tutorialMini git tutorial
Mini git tutorial
 
Know the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhubKnow the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhub
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
 
Continuos Integration @Knetminer
Continuos Integration @KnetminerContinuos Integration @Knetminer
Continuos Integration @Knetminer
 
Github basics
Github basicsGithub basics
Github basics
 

Viewers also liked

Exploring the GitHub Service Universe
Exploring the GitHub Service UniverseExploring the GitHub Service Universe
Exploring the GitHub Service UniverseBjörn Kimminich
 
Nisha Resume (1)
Nisha Resume (1)Nisha Resume (1)
Nisha Resume (1)Nisha Dalal
 
Self Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository ManagersSelf Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository ManagersPurav Gandhi
 
Cluj.DevOps Meetup - GitHub Enterprise
Cluj.DevOps Meetup - GitHub EnterpriseCluj.DevOps Meetup - GitHub Enterprise
Cluj.DevOps Meetup - GitHub EnterpriseLiviu Damian
 
Dev with github enterprise
Dev with github enterpriseDev with github enterprise
Dev with github enterpriseHiroshi Wada
 
Enterprise git - the hard bits
Enterprise git -  the hard bitsEnterprise git -  the hard bits
Enterprise git - the hard bitsMatthew Barr
 

Viewers also liked (6)

Exploring the GitHub Service Universe
Exploring the GitHub Service UniverseExploring the GitHub Service Universe
Exploring the GitHub Service Universe
 
Nisha Resume (1)
Nisha Resume (1)Nisha Resume (1)
Nisha Resume (1)
 
Self Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository ManagersSelf Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository Managers
 
Cluj.DevOps Meetup - GitHub Enterprise
Cluj.DevOps Meetup - GitHub EnterpriseCluj.DevOps Meetup - GitHub Enterprise
Cluj.DevOps Meetup - GitHub Enterprise
 
Dev with github enterprise
Dev with github enterpriseDev with github enterprise
Dev with github enterprise
 
Enterprise git - the hard bits
Enterprise git -  the hard bitsEnterprise git -  the hard bits
Enterprise git - the hard bits
 

Similar to Github Enterprise じゃなくてもいいじゃん

Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open SourceLorna Mitchell
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 
Make Git Understand Excel Workbooks - Eusprig 2018
Make Git Understand Excel Workbooks - Eusprig 2018Make Git Understand Excel Workbooks - Eusprig 2018
Make Git Understand Excel Workbooks - Eusprig 2018Björn Stiel
 
Don't Let Git Get Your Goat!
Don't Let Git Get Your Goat!Don't Let Git Get Your Goat!
Don't Let Git Get Your Goat!CollabNet
 
Git for the Android Developer
Git for the Android DeveloperGit for the Android Developer
Git for the Android DeveloperEffective
 
SCM for Android Developers Using Git
SCM for Android Developers Using GitSCM for Android Developers Using Git
SCM for Android Developers Using GitTony Hillerson
 
Git for the Android Developer
Git for the Android DeveloperGit for the Android Developer
Git for the Android DeveloperEffectiveUI
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control SystemKMS Technology
 
WordFest Live 2022 - Git into the Groove - Moving from Freelance to Collabora...
WordFest Live 2022 - Git into the Groove - Moving from Freelance to Collabora...WordFest Live 2022 - Git into the Groove - Moving from Freelance to Collabora...
WordFest Live 2022 - Git into the Groove - Moving from Freelance to Collabora...AmyJune Hineline (she-her)
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015mwrather
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitRobert Lee-Cann
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitColin Su
 

Similar to Github Enterprise じゃなくてもいいじゃん (20)

Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git
GitGit
Git
 
git and github
git and githubgit and github
git and github
 
Git
GitGit
Git
 
Git
GitGit
Git
 
Git - A soft introduction
Git - A soft introductionGit - A soft introduction
Git - A soft introduction
 
Make Git Understand Excel Workbooks - Eusprig 2018
Make Git Understand Excel Workbooks - Eusprig 2018Make Git Understand Excel Workbooks - Eusprig 2018
Make Git Understand Excel Workbooks - Eusprig 2018
 
Don't Let Git Get Your Goat!
Don't Let Git Get Your Goat!Don't Let Git Get Your Goat!
Don't Let Git Get Your Goat!
 
Git for the Android Developer
Git for the Android DeveloperGit for the Android Developer
Git for the Android Developer
 
SCM for Android Developers Using Git
SCM for Android Developers Using GitSCM for Android Developers Using Git
SCM for Android Developers Using Git
 
Git for the Android Developer
Git for the Android DeveloperGit for the Android Developer
Git for the Android Developer
 
Git
GitGit
Git
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
 
Git and Github
Git and GithubGit and Github
Git and Github
 
WordFest Live 2022 - Git into the Groove - Moving from Freelance to Collabora...
WordFest Live 2022 - Git into the Groove - Moving from Freelance to Collabora...WordFest Live 2022 - Git into the Groove - Moving from Freelance to Collabora...
WordFest Live 2022 - Git into the Groove - Moving from Freelance to Collabora...
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 

More from Takafumi ONAKA

不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持Takafumi ONAKA
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方Takafumi ONAKA
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発Takafumi ONAKA
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Takafumi ONAKA
 
pt-query-digest は Perl!!
pt-query-digest は Perl!!pt-query-digest は Perl!!
pt-query-digest は Perl!!Takafumi ONAKA
 
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことアプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことTakafumi ONAKA
 
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはcpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはTakafumi ONAKA
 
Perl使いの国のRubyist
Perl使いの国のRubyistPerl使いの国のRubyist
Perl使いの国のRubyistTakafumi ONAKA
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメTakafumi ONAKA
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発Takafumi ONAKA
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースTakafumi ONAKA
 
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー「速」を落とさないコードレビュー
「速」を落とさないコードレビューTakafumi ONAKA
 
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術Takafumi ONAKA
 
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料Takafumi ONAKA
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
ターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったTakafumi ONAKA
 

More from Takafumi ONAKA (20)

不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
 
pt-query-digest は Perl!!
pt-query-digest は Perl!!pt-query-digest は Perl!!
pt-query-digest は Perl!!
 
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことアプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のこと
 
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはcpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちは
 
Perl使いの国のRubyist
Perl使いの国のRubyistPerl使いの国のRubyist
Perl使いの国のRubyist
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメ
 
RSpecしぐさ
RSpecしぐさRSpecしぐさ
RSpecしぐさ
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
 
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
 
すこやかRails
すこやかRailsすこやかRails
すこやかRails
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
ターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作った
 

Github Enterprise じゃなくてもいいじゃん