Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
#t2study 2012/12/07 @fukayatsu Development of cakes 1212݄8༵
Slide 2
Slide 2 text
@fukayatsu • Piece of cake, Inc. ΤϯδχΞ(2012/08-) • ͖: Ruby / Android / Sublime Text 2 • ौ୩.rbʹ࠷ۙࢀՃ࢝͠Ίͨ 1212݄8༵
Slide 3
Slide 3 text
https://cakes.mu 1212݄8༵
Slide 4
Slide 4 text
• CakePHP 2.2.xͰ։ൃ • ΠϯϑϥAWS • ΤϯδχΞʴσβΠφͰ4~5ਓ 1212݄8༵
Slide 5
Slide 5 text
agenda •Tools •Flow •Next cakes 1212݄8༵
Slide 6
Slide 6 text
Tools 1212݄8༵
Slide 7
Slide 7 text
github • Bronze ($25/month) • CEOฤूऀશһΞΧϯτ͋Γ • githubΛ͍ͬͯͳ͍ձࣾʹब৬͢Δؾ ແ͍Ϩϕϧ 1212݄8༵
Slide 8
Slide 8 text
pivotal tracker • Startup L ($18/month) • λεΫͱ༏ઌॱҐΛཧ • Agile • http://agile.esm.co.jp/pivotaltracker/help/ gettingstarted_ja 1212݄8༵
Slide 9
Slide 9 text
Jenkins • OSS • σϓϩΠͷࣗಈԽ • όοΫΞοϓࣗಈԽ • stagingڥͷࣗಈԽ 1212݄8༵
Slide 10
Slide 10 text
hipchat • ($2/month per user) • νʔϜͷίϛϡχέʔγϣϯͷத৺ • githubɺpivotal trackerɺjenkins͔Β௨ ͕ྲྀΕͯ͘Δ • ຊ൪σϓϩΠhipchat্ͷbotʹ͓ئ͍ 1212݄8༵
Slide 11
Slide 11 text
hubot • github͕ެ։͍ͯ͠ΔbotϑϨʔϜϫʔΫ • hipchat͚ͩͰͳ͘ɺirctwitterͳͲʹ ରԠ͍ͯ͠Δ • coffee-scriptͰίϚϯυΛՃͰ͖Δ 1212݄8༵
Slide 12
Slide 12 text
hubot commands • > hubot production deploy • => ຊ൪ڥʹσϓϩΠͯ͘͠ΕΔ • > hubot misawa • => ࠈͷϛαϫը૾Λදࣔͯ͘͠ΕΔ • ͦͷଞ: http://fukayatsu.github.com/2012/12/03/ jotei-advent-calendar/ 1212݄8༵
Slide 13
Slide 13 text
ඇΤϯδχΞ ࢀরɾૢ࡞ ௨ ࣗಈԽ ίʔυཧ λεΫཧ ίϛϡχ έʔγϣϯ ΤϯδχΞ bot ΞΫηεղੳ Πϯϑϥ 1212݄8༵
Slide 14
Slide 14 text
Flow 1212݄8༵
Slide 15
Slide 15 text
github-flow • NOT git-flow • ҰʹԿσϓϩΠ͢Δ • ৗʹmaster͔ΒϒϥϯνΛ࡞ => pull-requestͰϨϏϡʔˍϚʔδ • https://gist.github.com/3705015 1212݄8༵
Slide 16
Slide 16 text
case study ʙϩάΠϯϖʔδΛ࡞Δʙ 1212݄8༵
Slide 17
Slide 17 text
1. story start • pivotal trackerͰstoryΛ[start] 1212݄8༵
Slide 18
Slide 18 text
2. create branch • ݱࡏͷmaster ϒϥϯν͔Βઆ໌తͳ ໊લͷϒϥϯνΛ࡞Δ • git checkout -b login-page master 1212݄8༵
Slide 19
Slide 19 text
3. write code 1212݄8༵
Slide 20
Slide 20 text
4. push to remote • git push origin login-page 1212݄8༵
Slide 21
Slide 21 text
5. pull-request • masterpull-request • Ϛʔδͯ͠ཉ͍࣌͠ڞಉ࡞ۀ͢Δͱ͖ɺ ΞυόΠε͕ཉ͍࣌͠ʹpull-request͢Δ 1212݄8༵
Slide 22
Slide 22 text
6. code review, check at staging • ίʔυʹίϝϯτͨ͠Γɺ ৽͍͠ίʔυΛpushͨ͠Γ • branchΛpush͢Δͱjenkins͕ϒϥϯν͝ ͱʹڥΛ࡞ͬͯ͘ΕΔΑ͏ʹͨ͠ ྫ) https://login-page.example.com 1212݄8༵
Slide 23
Slide 23 text
7. merge into master • ֬ೝͰ͖ͨΒϚʔδ͢Δ • େ͖͍ػೳՃCEOCTO͕֬ೝ 1212݄8༵
Slide 24
Slide 24 text
8. deploy to production • > hubot production deploy • ཪͰhubot͕jenkinsͷjobΛ࣮ߦ͢Δ • ऴΘͬͨΒhipchatʹ௨ • σϓϩΠͱνʔϜͷڞ༗͕ 1ͭͷίϚϯυͰ݁ͯ͠շ 1212݄8༵
Slide 25
Slide 25 text
9. finish story • pivotal trackerͰstoryΛ[finish]&[deliver] • ຊ൪ڥͰͳ͚Ε[accept] 1212݄8༵
Slide 26
Slide 26 text
࣮ྃ 1212݄8༵
Slide 27
Slide 27 text
Delivered! 1212݄8༵
Slide 28
Slide 28 text
ΊͰͨ͠ ΊͰͨ͠ 1212݄8༵
Slide 29
Slide 29 text
Next cakes 1212݄8༵
Slide 30
Slide 30 text
Ϣʔβʔʹ ͬͱૣ͘ՁΛ ಧ͚͍ͨ 1212݄8༵
Slide 31
Slide 31 text
͕͜͜Γͳ͍ • ࣗಈςετ / TDD • ίʔυϨϏϡʔ • DRY • ϑϨʔϜϫʔΫΛ׆͔͢ • ंྠͷ࠶։ൃΛ͠ͳ͍ 1212݄8༵
Slide 32
Slide 32 text
ϑϨʔϜϫʔΫΛ RailsҠߦ • ઃܭ͔Βཧ͢Δ • Ruby/Railsք۾ͷจԽΛ νʔϜʹऔΓࠐΉ 1212݄8༵
Slide 33
Slide 33 text
·ͱΊ 1212݄8༵
Slide 34
Slide 34 text
• github-flow => ྑ͍ • hubot deploy => ָ͍͠ • CakePHP ͔Β Rails 1212݄8༵
Slide 35
Slide 35 text
͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ 1212݄8༵
Slide 36
Slide 36 text
• ը૾: http://www.sxc.hu/ ࢀߟ 1212݄8༵