Github Enterprise じゃなくてもいいじゃん
-
Upload
takafumi-onaka -
Category
Documents
-
view
21.990 -
download
2
description
Transcript of Github Enterprise じゃなくてもいいじゃん
Is there any necessity of using Github Enterprise?2013-01-23 GREE Tech Talk# 02Takafumi ONAKA a.k.a. @onk
1
Sorry
謝罪
2
I’m not good at English.So, I use machine translate.
機械翻訳です
3
Introducing myself
自己紹介
4
5
we're hiring
Introducing myself• Name:•@onk•Takafumi ONAKA ( 大仲 能史 )
• Work:•Social Game Developer•Application Engineer
6
Today’s talk
今日の話
7
In conclusion, Use github enterprise
金があるなら github
enterprise 使え(結論 )
8
Gitlab is «poormans github enterprise»
Gitlab は貧者の github enterprise
9
ストーリー•暗黒の subversion 期• Github enterprise を試用→挫折• Gitlab との出会い• Subversion からの移行•俺たちの戦いはこれからだ !!
10
Dark ages reign of subversion
暗黒の subversion 時代
11
Our subversion branches
我々の取っていたブランチ戦略
12
3 main branches
13
trunk
stagingrelease
Commit to trunk
14
trunk
stagingrelease
Cherry pick & test on staging
15
trunk
stagingrelease
release
16
trunk
stagingrelease
commit
17
trunk
stagingrelease
Cherry-pick
18
trunk
stagingrelease
release
19
trunk
stagingrelease
Many problems
課題がたくさん
20
ブランチが切られない•ブランチ作成コストが重い
21
cost of making a branch is high
Cherry-pick が職人芸
•数百 commit の中から今回リリースすべき 100commit を見つけ、適切に conflict を解消しつつmerge する
22
Cherry pick requires the skill of an artisan
Cherry-pick が職人芸
• 1 アプリに 1 人 merge 職人が必要になる•職人の数しかアプリを作れない
23
So, our make line number is limited
膨れ上がるmergeinfo
•未 merge の commit 一覧を頻繁に参照する•`svn mergeinfo --show-revs eligible`
24
Fat svn:mergeinfo
膨れ上がるmergeinfo
•遅い• Disk IO 食いすぎ•遅い
25
Slow, slow, slow
want to use git
Git にしたい
26
Try github enterprise
Github Enterprise の試用→挫折
27
github enterprise を
試用
28
less use
試してみる程度しか使われない
29
まさしくこの状態
30
The tragedy "only I use git, others use svn"
Why failure?
敗因分析
31
Branch strategy mismatch
ブランチ戦略のミスマッチ
32
Shift of application under running is difficult
運用中のアプリの移行が困難
33
Long long time of using subversionmade the track record.
長すぎたsubversion期が「回せる」状態を作ってしまった
34
“its running”, we get less happiness if shift
「回っている」ので移行する嬉しさが少ない
35
Merit / Demerit 36
メリット デメリット・速い・ Pull request駆動開発・今風で嬉しい
・ 200 アカウント分の初期コスト・教育コスト・移行期の運用速度低下
Git を導入すると
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
Github enterprise の
導入見送り
40
Use git without initial cost
イニシャルコストを掛けずになだらかに移行する
41
I want to use git and get git cultures
git 文化圏から良い文化を導入したい !!( 切望 )
42
How to start using git without initial cost
イニシャルコストを掛けずに始める方法を模索
43
Find “gitlab”
Gitlab を選んだ
44
選定基準• Github like な web UI•管理も web UI で可能• Pull request 機能があるもの•今後数年主流になりそうなもの
45
Basis of selection:Web UI & pull request
When using except github select language and a framework
maintainableby two or more persons.
46
i have to continue eating dog food.
VCS というドッグフードを食べ続け
ることになる
47
It will fail, if a maintainer is fixed
メンテナが固定されると失敗一直線
48
Gitlab is made by Ruby on Rails
Gitlab はRails 製
49
80 ruby engineers are in our company.
弊社には Railsエンジニア 80 名
50
We can maintain if modern Rails application
モダンな Railsアプリケーションなら余裕で運用できる
51
Gitlab is on latest rails and modern libraries
最新の Rails 、今風のライブラ
リ群
52
It uses with some corrections
多少の手直しで弊社の使い方に
合いそう
53
Judged satisfactory
運用に関しては問題ないと判断
54
no necessity if there is even money
お金さえあればしなくていい苦労ですよ !!1
55
subversion to gitlab
Subversion からの移行
56
Learn from a failure,and make shift strategy
前回の失敗を糧に、真面目に移行戦略を立てた
57
Cross commit by git-svn
git-svn によりクロスコミットされ
た状況を作る
58
subversion
git
59
trunk
移行期
master
topic
topic
Not change release flow during the combined use.
併用期間はリリースに関する運用は変えない
60
let everyone used to use git in this period
全員が Git に慣れてもらい、 svn を
離れる準備
61
Can release without cherry-pick, throw away svn
リリースフローにcherry-pickを使わない状態を作りsvnを捨てる
62
63
`git svn fetch` needs some weeks
git svn fetchする数週間
64
Gitlab に追加した機能
•全プロジェクトを全ユーザが閲覧可能に• README.md の表示
65
The features we added to gitlab- Authentication change
Gitlab に追加した機能
• git-svn によるクロスコミット• Merge Request にdescription追加
66
- Cross commit by using git-svn- Add description for “merge
request”
Gitlab に追加した機能
• Push 時に Issue/MR に紐づける•監視
67
- Commit to issue relations- Supervises
お金さえあればしなくていい苦労で
すよ !!1(再 )
68
no necessity if there is even money
svn→git で弱体化した部分を補強
• Commit mail•各種通知 bot
69
Make some notify bot for git
There is more pleasant than making the tool for svn
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”
Merge Requestでのコードレビューは正義だと確信した
75
I waited for this flow very long
ようやく正しい手順で開発できるようになった
76
Conclusion
まとめ
77
Gitlab のメリット•サーバに入れる• Git リポジトリを直接操作可能•柔軟な移行手順を踏める
78
Gitlab’s merit- Can log in to server
- flexible shift procedure can be used
まとめ• Pull request のない環境で文化を作るのは難しい• gitlab で文化を作れるようになった• GHE であればしなくてもいい苦労はあるが、 gitlab は妥当な代替
79
Thank you
ご清聴ありがとうございました
80
U.where(has_question: true).exists?
81