Where software is built
Being successful with GitHub
Or Breaking your silos
Slide 2
Slide 2 text
!
Where software is built
Who am I?
2
a ikeike443
Slide 3
Slide 3 text
#
Where software is built
#
$
3
TAKAFUMI IKEDA
SOLUTIONS ENGINEER
Who am I?
Slide 4
Slide 4 text
!
Where software is built
νʔϜ։ൃ࣮ફೖ
4
Slide 5
Slide 5 text
Where software is built
%
Agenda
5
•GitHubͱͳʹ͔ʁ
•ͳͥGitHub͕ඞཁͳͷ͔ʁ
•GitHubͰͲΜͳ͜ͱ͕Ͱ͖Δͷ͔ʁ
•Breaking your silos
%
Slide 6
Slide 6 text
Where software is built
GitHubͱͳʹ͔ʁ
This is what you’ve been looking for
6
%
Slide 7
Slide 7 text
!
Where software is built 7
Slide 8
Slide 8 text
!
Where software is built 8
Slide 9
Slide 9 text
!
Where software is built 9
Slide 10
Slide 10 text
!
Where software is built
͜ΕOctocatͰ͢
10
•GitHubͷϚείοτͰ͢
•࣮ঁͷࢠͰ͢
•໊લMonalisaͰ͢
Slide 11
Slide 11 text
!
Where software is built
•Ͱ GitHub ͱʁ
11
Slide 12
Slide 12 text
How software is built
% For Internal Only - Confidential / 2015
ࣈͰݟΔGitHub
12
%
࠾༻͍ͯ͠Δ
େֶͷ
1,000+
ొϢʔβʔ
2,400ສ
ϦϙδτϦ
6,700ສ
ར༻اۀɾஂମ
60,000+
ຊ͔Βͷ݄ؒ
๚ऀ
70ສ
ຊͷ͓٬༷
1,400+
Slide 13
Slide 13 text
GitHubձࣾ֓ཁ
CEO Chris Wanstrath
ۀ 2008
VCࢿֹ $350M
ैۀһ 700+
ձ໊ࣾ GitHub, Inc.
ຊࣾ αϯϑϥϯγεί, CA
Slide 14
Slide 14 text
౦ژΦϑΟε2015ʹઃཱ
ॴࡏɿߓ۠ࣳେ
ຊޠରԠ͕Ͱ͖ΔӦۀ/SE/αϙʔτελοϑ
Slide 15
Slide 15 text
How software is built
% For Internal Only - Confidential / 2015 15
&
OPEN SOURCE
LEADERS
SOFTWARE
SPECIALISTS
FORWARD THINKING
ENTERPRISES
GitHub ͷ࠾༻ൣғ
Slide 16
Slide 16 text
!
Where software is built
GitHubOSSͷ͋ΓํΛม͑ͨ
16
Slide 17
Slide 17 text
!
Where software is built
GitHubҎલ
17
! " # " $ " % " &
" ' " ( " ) " x "
$ " % " & " ' " (
" ) " ! "
Slide 18
Slide 18 text
!
Where software is built
GitHubҎޙ
18
Slide 19
Slide 19 text
!
Where software is built
GitHubίϥϘϨʔγϣϯͷ͋ΓํΛม͑ͨ
19
Slide 20
Slide 20 text
!
Where software is built
اۀͷ։ൃελΠϧͷมԽʹߩݙ
20
•GitHub.comWebαʔϏε
•ࣾͰ͍͍ͨͱ͍͏ʹ͓Ԡ͑ͯ͠
Slide 21
Slide 21 text
!
Where software is built
2012ΑΓ
21
Slide 22
Slide 22 text
!
Where software is built
GitHub Enterprise
22
•ࣾωοτϫʔΫʹΠϯετʔϧՄೳ
•GitHub.comͱಉ͡ػೳ
•LDAP, SAMLʹΑΔIDཧ
•ূͷཧɺόοΫΞοϓͳͲͳͲ
Slide 23
Slide 23 text
How software is built
% For Internal Only - Confidential / 2015 23
&
։ൃϑϩʔͷத৺
B U I L D C O L L A B O R A T E D E P L O Y
' ( $
%
Slide 24
Slide 24 text
Where software is built
ͳͥGitHub͕ඞཁͳͷ͔
GitHub will help you in many ways
24
%
Slide 25
Slide 25 text
Where software is built
ιϑτΣΞ͕ੈքΛҿΈࠐΉ
25
)
!
ϢʔβʔੈքதͲ͜
Ͱಉ͡༏ΕͨϢʔβʔ
ମݧΛٻΊ͍ͯ·͢
ٕज़ͷਐา͕͋ΒΏΔ
࢈ۀͷ͋ΓํΛม͑ͭ
ͭ͋Γ·͢
&
Slide 26
Slide 26 text
!
Where software is built 26
*
+
χʔζ
͍ۤ͠ϙΠϯτ
• ߴ͍ੜ࢈ੑ
• ૉΒ͍͠Ϣʔβʔମݧͱߴ͍࣭
• ਝ͔ͭΠϊϕʔςΟϒͳ
• ͱͯ͘ɺ৴པग़དྷͳ͍։ൃϑϩʔ͓ΑͼϦϦʔεϑϩʔ
• ίʔυϨϏϡʔCIͳ͘ɺσάϨ͕සൃ
• ಁ໌ੑ͕͘ɺଞ෦ॺ͕ԿΛ͍ͯ͠Δ͔Θ͔Βͳ͍ɺंྠͷ࠶ൃ໌
͍·։ൃݱͰԿ͕ى͖͍ͯΔͷ͔
Slide 27
Slide 27 text
!
Where software is built
Oh, man…
27
http://wolf-sheep20.tumblr.com/post/45480229605/homestuck-gif-challenge
Slide 28
Slide 28 text
!
Where software is built
But Wait!
28
Slide 29
Slide 29 text
!
Where software is built
May the Octocat be with you!
29
Slide 30
Slide 30 text
Where software is built
Slide 31
Slide 31 text
Where software is built
GitHubͰͲΜͳ͜ͱ͕Ͱ͖Δͷ͔
Tips for using GitHub with your team
31
$
Slide 32
Slide 32 text
!
Where software is built
GitHub Flow!
32
(
, -
.
.
.
Create a Branch
Open a Pull Request
Merge and deploy
Slide 33
Slide 33 text
Where software is built
Slide 34
Slide 34 text
how software is built
%
34
Slide 35
Slide 35 text
!
Where software is built 35
*
,
ϦεΫͳ͠Ͱ࣮ݧͰ͖Δ
ϒϥϯνͷੜଘظؒΛ͘Ͱ͖Δ
• ࣗͷϒϥϯν্ͰͳΜͰͰ͖Δ
• ଞਓͷ࡞ۀΛअຐ͢ΔϦεΫ͕ͳ͍ɺଞਓʹअຐ͞Εͳ͍
• ϒϥϯνͷ࡞ߴͰ҆શ͔ͭ؆୯ʹͰ͖Δ
• ४උ͕Ͱ͖ͨΒ͙͢ʹϚʔδ͠ɺ͙͢ʹআͰ͖Δ
• ظؒͷ͍ϒϥϯνίϯϑϦΫτ͕ى͖͘͢ͳΓϚʔδ͠ʹ͍͘
• ϒϥϯνΛআ͢Δͷ҆શͰߴʹͰ͖Δ
ϒϥϯν࡞͕ߴͰ҆શ͔ͭ؆୯
Slide 36
Slide 36 text
how software is built
%
36
Slide 37
Slide 37 text
how software is built
%
37
Slide 38
Slide 38 text
!
Where software is built
Pull RequestͰٞͱϨϏϡʔ͕Ͱ͖Δ
38
. ୭Ͱר͖ࠐΜͰ
։ൃͰ͖Δ
ؔऀશһΛר͖ࠐΜͰ༷ཁ݅ʹͭ
͍͕ͯٞͰ͖Δ
ϓϩάϥϚ͚ͩͰͳ͘ɺاըऀɺઃܭऀɺ
QA୲ऀͪΖΜɺHR๏ɺܦཧ
ͳͲͱίϥϘϨʔγϣϯ͕Մೳ
Slide 39
Slide 39 text
how software is built
%
39
Slide 40
Slide 40 text
!
Where software is built 40
(
, -
.
.
.
Create a Branch
Open a Pull Request
Merge and deploy
Slide 41
Slide 41 text
how software is built
%
41
Slide 42
Slide 42 text
!
Where software is built
Ϛʔδ͢Δલʹςετ͢Δ͜ͱ͕Ͱ͖Δ
42
/ CI ON PR IS THE
BEST PRACTICE
ࠓʹ͓͍ͯɺCIඞਢͷϓϥΫςΟε
Pull Requestʹରͯ͠CIΛ࣮ࢪ͢Δ͜ͱ
͕ۙඞਢͱͳͬͨϕετϓϥΫςΟε
͜ΕʹΑͬͯɺίʔυϨϏϡʔʹूத͢
Δ͜ͱ͕Ͱ͖Δ
Slide 43
Slide 43 text
!
Where software is built
Pull Requestʹର͢ΔCIͬͯʁ
43
(
, -
MasterͱPull RequestΛ
CIαʔό্ͰϚʔδͯ͠ςετ
CI݁ՌΛPull Requestʹ
ϑΟʔυόοΫ
Slide 44
Slide 44 text
how software is built
%
44
Slide 45
Slide 45 text
!
Where software is built
Ϛʔδʹ݅Λ͚ͭΔ͜ͱ͕Ͱ͖Δ
45
0 PROTECTED BRANCHES
AND REQUIRED
STATUSES
Status APIΛ͏͜ͱͰɺPRͷϚʔδʹ
݅Λ͚ͭΔ͜ͱ͕Ͱ͖Δ
CIΛύε͢Δ͜ͱͰ͋ͬͨΓɺԿΒ͔ͷ
νΣοΫΛ௨ա͢Δ͜ͱͰ͋ͬͨΓɻ
طଘͷ3rdύʔςΟʔͷαʔϏεͷଟ͕͘
طʹରԠࡁ
Slide 46
Slide 46 text
how software is built
%
46
Slide 47
Slide 47 text
!
Where software is built 47
(
, -
.
.
.
Create a Branch
Open a Pull Request
Merge and deploy
Slide 48
Slide 48 text
!
Where software is built
σϓϩΠͷঢ়گهͰ͖Δ
48
1
σϓϩΠAPIΛར༻͠
ͯPRʹཤྺΛͤΔ
PRͷมߋ͕Ͳ͜ʹσϓϩΠ͞Εͨͷ͔ɺ
ঢ়گͲ͏ͩͬͨͷ͔ɺه͕Δ
ޙͰݟฦ͢͜ͱ͕Մೳ
Slide 49
Slide 49 text
how software is built
%
49
Slide 50
Slide 50 text
how software is built
%
50
Slide 51
Slide 51 text
!
Where software is built 51
(
, -
.
.
.
Create a Branch
Open a Pull Request
Merge and deploy
Slide 52
Slide 52 text
Where software is built
Slide 53
Slide 53 text
!
Where software is built
Pull Requests୯ҐͰRevert͕Մೳ
53
2
PULL REQUEST୯ҐͰ
REVERTͰ͖Δ
Pull RequestΛϚʔδͨ͠ޙʹ
ʹؾ͍ͮͨ߹ɺ͜ͷ୯ҐͰ
Revert͕Մೳ
RevertPull RequestʹͳΓɺCI
࣮ࢪͰ͖Δ͠ϨϏϡʔՄೳ
Slide 54
Slide 54 text
how software is built
%
Pull Request͕ؔ࿈͢ΔίϛοτΛ͍ͬͯΔ
54
ຊޠԽͨ͠ ςετमਖ਼
ؔͷͳ͍मਖ਼ REVERT
Pull Request
Slide 55
Slide 55 text
how software is built
%
55
Slide 56
Slide 56 text
!
Where software is built
Pull Requestʹ͋ΒΏΔใ͕ू·Δ
56
1 ͋ΒΏΔใ͕PRʹ
ཤྺͱͯ͠ू·Δ
ίϛοτϩάɺձͷϩάɺσϓϩ
ΠͷϩάϚʔδͷϩάɺͯ͢ͷྲྀ
ΕΛPull Requestʹू͢Δ͜ͱ͕Ͱ͖Δ
Slide 57
Slide 57 text
how software is built
%
57
Slide 58
Slide 58 text
!
Where software is built
BlameΛͬͯίʔυ͔ΒPR·ͰḪΕΔ
58
3 ͍ͭ୭͕Ͳ͏มߋͨ͠ͷ͔
ΛͰ͖Δ
gitͷblameΛ͞ΒʹUI্ͰΘ͔Γ
֬͘͢ೝͰ͖Δ
ίʔυ͔ΒPR·ͰḪͬͯ֬ೝ͢
Δ͜ͱ͕Մೳ
Slide 59
Slide 59 text
how software is built
%
59
Slide 60
Slide 60 text
Where software is built
%
%
60
• GitHubOSS͓ΑͼاۀͷιϑτΣΞ։ൃΛมֵͨ͠
• ։ൃͷத৺ͱͳΔίϥϘϨʔγϣϯϓϥοτϑΥʔϜ
• GitHub FlowͰߴ͔ͭߴ࣭ͳ։ൃ͕Մೳʹ
• օ͞ΜͷݱʹGitHubΛಋೖ͍͖ͯ͠·͠ΐ͏