Slide 1

Slide 1 text

© 2016 Takashi Takebayashi Microsoft MVP for Visual Studio and Development Technologies Takashi Takebayashi(a.k.a @changeworlds) changesworlds.com Visual Studio Team ServicesͱGit ʙGit hosting serviceຖͷಛ௃ʙ ୈ35ճ TFSUG౦ژ Visual Studio Team ServicesͱGit,Unity Cloud Build

Slide 2

Slide 2 text

© 2016 Takashi Takebayashi Hi everyone,

Slide 3

Slide 3 text

© 2016 Takashi Takebayashi Takashi Takebayashi @changeworlds Microsoft MVP for Visual Studio and Development Technologies Blog : http://changesworlds.com/ Role : Scrum Master, Agile Coach, Biz&Tech cross-functional paradigm Writing : Build Insider(ALM, DevOps), mynavinews(TeamDev) Community : εΫϥϜಓ, TFSUGίΞϝϯό Speaker

Slide 4

Slide 4 text

© 2016 Takashi Takebayashi How do you version control? Propose the most effective solution Summary Agenda

Slide 5

Slide 5 text

© 2016 Takashi Takebayashi How do you version control? όʔδϣϯ؅ཧͲ͏ͯ͠Δʁ

Slide 6

Slide 6 text

© 2016 Takashi Takebayashi File server Well listen approach Α͘ฉ͘΍Γํ

Slide 7

Slide 7 text

© 2016 Takashi Takebayashi File server -> όʔδϣϯ؅ཧͱ͸ී௨ݺ͹ͳ͍ Well listen approach Α͘ฉ͘΍Γํ

Slide 8

Slide 8 text

© 2016 Takashi Takebayashi File server -> όʔδϣϯ؅ཧͱ͸ී௨ݺ͹ͳ͍ Subversion Well listen approach Α͘ฉ͘΍Γํ

Slide 9

Slide 9 text

© 2016 Takashi Takebayashi File server -> όʔδϣϯ؅ཧͱ͸ී௨ݺ͹ͳ͍ Subversion -> ձࣾ͸ͱ΋͔͘ݸਓ͸ͪͱݫ͍͠(Google Code) Well listen approach Α͘ฉ͘΍Γํ

Slide 10

Slide 10 text

© 2016 Takashi Takebayashi File server -> όʔδϣϯ؅ཧͱ͸ී௨ݺ͹ͳ͍ Subversion -> ձࣾ͸ͱ΋͔͘ݸਓ͸ͪͱݫ͍͠(Google Code) DropBox, OneDrive, Google Drive Well listen approach Α͘ฉ͘΍Γํ

Slide 11

Slide 11 text

© 2016 Takashi Takebayashi File server -> όʔδϣϯ؅ཧͱ͸ී௨ݺ͹ͳ͍ Subversion -> ձࣾ͸ͱ΋͔͘ݸਓ͸ͪͱݫ͍͠(Google Code) DropBox, OneDrive, Google Drive -> ιʔεҎ֎ͳΒे෼ Well listen approach Α͘ฉ͘΍Γํ

Slide 12

Slide 12 text

© 2016 Takashi Takebayashi File server -> όʔδϣϯ؅ཧͱ͸ී௨ݺ͹ͳ͍ Subversion -> ձࣾ͸ͱ΋͔͘ݸਓ͸ͪͱݫ͍͠(Google Code) DropBox, OneDrive, Google Drive -> ιʔεҎ֎ͳΒे෼ Git Well listen approach Α͘ฉ͘΍Γํ

Slide 13

Slide 13 text

© 2016 Takashi Takebayashi File server -> όʔδϣϯ؅ཧͱ͸ී௨ݺ͹ͳ͍ Subversion -> ձࣾ͸ͱ΋͔͘ݸਓ͸ͪͱݫ͍͠(Google Code) DropBox, OneDrive, Google Drive -> ιʔεҎ֎ͳΒे෼ Git -> ෳ਺ͷແྉϗεςΟϯάαʔϏε༗ɺओྲྀ
 ɹɹ=>GitϗεςΟϯάαʔϏεͷରൺ Well listen approach Α͘ฉ͘΍Γํ

Slide 14

Slide 14 text

© 2016 Takashi Takebayashi ੈքతʹଟ͘ͷاۀ΋࢖͓ͬͯΓɺϝδϟʔ ҎԼͷಛ௃͕͋Δ 1ϑΝΠϧ50MBҎ্ͷϑΝΠϧΛpush͢Δͱܯࠂ 1ϑΝΠϧ100MBҎ্ͷϑΝΠϧ͸pushͰ͖ͳ͍ 1GB௒ϦϙδτϦ͸1GBҎԼʹ࠵ଅ͢Δϝʔϧܯࠂ References What is my disk quota? Working with large files GitHub

Slide 15

Slide 15 text

© 2016 Takashi Takebayashi $ git push Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 71.09 MiB | 3.04 MiB/s, done. Total 3 (delta 0), reused 0 (delta 0) remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. remote: warning: See http://git.io/iEPt8g for more information. remote: warning: File centos5.7-docker.tar.xz is 71.07 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB To https://github.com/changeworld/centos.git f80ad08..6c92ff4 master -> master Warning

Slide 16

Slide 16 text

© 2016 Takashi Takebayashi $ git push Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 71.09 MiB | 3.04 MiB/s, done. Total 3 (delta 0), reused 0 (delta 0) remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. remote: warning: See http://git.io/iEPt8g for more information. remote: warning: File centos5.7-docker.tar.xz is 71.07 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB To https://github.com/changeworld/centos.git f80ad08..6c92ff4 master -> master Warning

Slide 17

Slide 17 text

© 2016 Takashi Takebayashi $ git push Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 169.10 MiB | 692.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. remote: error: Trace: 1bef1cc8c31d41410dd0d5b2b4932a7e remote: error: See http://git.io/iEPt8g for more information. remote: error: File DockerToolbox-1.8.1c.pkg is 170.05 MB; this exceeds GitHub's file size limit of 100.00 MB To https://github.com/changeworld/centos.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'https://github.com/changeworld/centos.git' Error

Slide 18

Slide 18 text

© 2016 Takashi Takebayashi $ git push Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 169.10 MiB | 692.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. remote: error: Trace: 1bef1cc8c31d41410dd0d5b2b4932a7e remote: error: See http://git.io/iEPt8g for more information. remote: error: File DockerToolbox-1.8.1c.pkg is 170.05 MB; this exceeds GitHub's file size limit of 100.00 MB To https://github.com/changeworld/centos.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'https://github.com/changeworld/centos.git' Error

Slide 19

Slide 19 text

© 2016 Takashi Takebayashi GitҎ֎ʹMercurialʹ΋ରԠ͍ͯ͠Δ ҎԼͷಛ௃͕͋Δ 1GB௒ϦϙδτϦʹ͸ϝʔϧ΍௨஌όʔͰܯࠂ 2GB௒΁͸push͕Ͱ͖ͣɺϝʔϧ΍௨஌όʔͰܯࠂ References What kind of limits do you have on repository/file/upload size? Bitbucket

Slide 20

Slide 20 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒ How to solve working with large files

Slide 21

Slide 21 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒ -> Git LFSΛ࢖͏ How to solve working with large files

Slide 22

Slide 22 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒ -> Git LFSΛ࢖͏ 1GB௒ϦϙδτϦ How to solve working with large files

Slide 23

Slide 23 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒ -> Git LFSΛ࢖͏ 1GB௒ϦϙδτϦ -> (ܯࠂϝʔϧ͕ݏͳΒ)BitbucketΛ࢖͏ How to solve working with large files

Slide 24

Slide 24 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒ -> Git LFSΛ࢖͏ 1GB௒ϦϙδτϦ -> (ܯࠂϝʔϧ͕ݏͳΒ)BitbucketΛ࢖͏ 2GB௒ϦϙδτϦ How to solve working with large files

Slide 25

Slide 25 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒ -> Git LFSΛ࢖͏ 1GB௒ϦϙδτϦ -> (ܯࠂϝʔϧ͕ݏͳΒ)BitbucketΛ࢖͏ 2GB௒ϦϙδτϦ -> ??? How to solve working with large files

Slide 26

Slide 26 text

© 2016 Takashi Takebayashi To digress a little ࿩͕গ͠࿬ಓʹͦΕΔ͕

Slide 27

Slide 27 text

© 2016 Takashi Takebayashi Git LFS΁ͷରԠ͕ΤϯδχΞҎ֎Ͱͷϋʔυϧ͕ߴ͍ ϫʔΫΞϥ΢ϯυɿΤϯδχΞ͕ରԠ͢Δ ը૾ͳͲେྔʹϑΝΠϧ͕͋Δͱҟ༷ʹclone͕஗͍ ϫʔΫΞϥ΢ϯυɿը૾ͳͲେྔʹஔ͔ͳ͍ GitHub’s Git LFS problem GitHubͷGit LFSͷ՝୊

Slide 28

Slide 28 text

© 2016 Takashi Takebayashi Now let's return to the main problem ຊ୊ʹ໭Δ

Slide 29

Slide 29 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒Ͱ΋Git LFS͠ͳͯ͘΋Α͍ ը૾ͳͲେྔʹϑΝΠϧ͕͋ͬͯ΋௨৴͕஗͘ͳ͍ ϦϙδτϦ͕2GB௒Ͱ΋Α͍ ແྉͰ࢖͑Δ Wish List ΄͍͠΋ͷ

Slide 30

Slide 30 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒Ͱ΋Git LFS͠ͳͯ͘΋Α͍ ը૾ͳͲେྔʹϑΝΠϧ͕͋ͬͯ΋௨৴͕஗͘ͳ͍ ϦϙδτϦ͕2GB௒Ͱ΋Α͍ ແྉͰ࢖͑Δ Wish List ΄͍͠΋ͷ ͦ͏͍͏ͷͲ͔ͬʹͳ͍ͷʁ

Slide 31

Slide 31 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒Ͱ΋Git LFS͠ͳͯ͘΋Α͍ ը૾ͳͲେྔʹϑΝΠϧ͕͋ͬͯ΋௨৴͕஗͘ͳ͍ ϦϙδτϦ͕2GB௒Ͱ΋Α͍ ແྉͰ࢖͑Δ Wish List ΄͍͠΋ͷ ͦ͏͍͏ͷͲ͔ͬʹͳ͍ͷʁ ͋ΔΘ͚ͳ͍ͩΖʂ ʢͱී௨ͳΒࢥ͏ʣ

Slide 32

Slide 32 text

© 2016 Takashi Takebayashi http://cdn-ak.f.st-hatena.com/images/fotolife/s/shoichikasuo/ 20040830/20040830122820.jpg

Slide 33

Slide 33 text

© 2016 Takashi Takebayashi ͋Δ

Slide 34

Slide 34 text

© 2016 Takashi Takebayashi http://7g629fvtcpzwuleokbj1.cdn02.sova.bz/wp-content/uploads/ 2015/03/852377a0de7aa85fa90278749725feab.jpg

Slide 35

Slide 35 text

© 2016 Takashi Takebayashi https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2015/010

Slide 36

Slide 36 text

© 2016 Takashi Takebayashi Propose the most effective solution ޮՌతͳղܾࡦ

Slide 37

Slide 37 text

© 2016 Takashi Takebayashi https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2015/010

Slide 38

Slide 38 text

© 2016 Takashi Takebayashi ݫີʹ͸Git hosting serviceͰ͸ͳ͍ GitҎ֎ʹTeam Foundation Version Controlʹ΋ରԠ͍ͯ͠Δ ҎԼͷಛ௃͕͋Δ 2.2TB͔Β10.5TBͷؒʹϦϛοτ͕͋Δ
 You can put in between 2.2TB and 10.5TB References How much data can you put on VSOnline?
 ※VSOnline͸Visual Studio Team Servicesͷچশ Visual Studio Team Services

Slide 39

Slide 39 text

© 2016 Takashi Takebayashi ݫີʹ͸Git hosting serviceͰ͸ͳ͍ GitҎ֎ʹTeam Foundation Version Controlʹ΋ରԠ͍ͯ͠Δ ҎԼͷಛ௃͕͋Δ 2.2TB͔Β10.5TBͷؒʹϦϛοτ͕͋Δ
 You can put in between 2.2TB and 10.5TB References How much data can you put on VSOnline?
 ※VSOnline͸Visual Studio Team Servicesͷچশ Visual Studio Team Services

Slide 40

Slide 40 text

© 2016 Takashi Takebayashi http://7g629fvtcpzwuleokbj1.cdn02.sova.bz/wp-content/uploads/ 2015/03/852377a0de7aa85fa90278749725feab.jpg

Slide 41

Slide 41 text

© 2016 Takashi Takebayashi Visual Studio Team Services Work Item(like issue), Kanban: like Redmine, Trac, JIRA…etc
 operate via Excel, Web browser Build and Test and Deploy(CI, CD): like Jenkins, Fabric, Capistrano…etc Discussion, Pull request: like GitHub, GitLab, Bitbucket…etc and more
 Branch Policy, 5 FREE users, Unlimited FREE stakeholders/eligible MSDN subscribers, 
 Unlimited team projects and private code repos, 
 FREE work item tracking for all users, 
 FREE limited minutes/month of build,
 FREE limited virtual user minutes/month of load testing

Slide 42

Slide 42 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒ How to solve working with large files, next plan

Slide 43

Slide 43 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒->Git LFS or Visual Studio Team ServicesΛ࢖͏ How to solve working with large files, next plan

Slide 44

Slide 44 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒->Git LFS or Visual Studio Team ServicesΛ࢖͏ 1GB௒ϦϙδτϦ How to solve working with large files, next plan

Slide 45

Slide 45 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒->Git LFS or Visual Studio Team ServicesΛ࢖͏ 1GB௒ϦϙδτϦ->Bitbucket or Visual Studio Team ServicesΛ࢖͏ How to solve working with large files, next plan

Slide 46

Slide 46 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒->Git LFS or Visual Studio Team ServicesΛ࢖͏ 1GB௒ϦϙδτϦ->Bitbucket or Visual Studio Team ServicesΛ࢖͏ 2GB௒ϦϙδτϦ How to solve working with large files, next plan

Slide 47

Slide 47 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒->Git LFS or Visual Studio Team ServicesΛ࢖͏ 1GB௒ϦϙδτϦ->Bitbucket or Visual Studio Team ServicesΛ࢖͏ 2GB௒ϦϙδτϦ->Visual Studio Team ServicesΛ࢖͏ How to solve working with large files, next plan

Slide 48

Slide 48 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒->Git LFS or Visual Studio Team ServicesΛ࢖͏ 1GB௒ϦϙδτϦ->Bitbucket or Visual Studio Team ServicesΛ࢖͏ 2GB௒ϦϙδτϦ->Visual Studio Team ServicesΛ࢖͏ 2.2TB-10.5TB௒ϦϙδτϦ How to solve working with large files, next plan

Slide 49

Slide 49 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒->Git LFS or Visual Studio Team ServicesΛ࢖͏ 1GB௒ϦϙδτϦ->Bitbucket or Visual Studio Team ServicesΛ࢖͏ 2GB௒ϦϙδτϦ->Visual Studio Team ServicesΛ࢖͏ 2.2TB-10.5TB௒ϦϙδτϦ->??? How to solve working with large files, next plan

Slide 50

Slide 50 text

© 2016 Takashi Takebayashi Summary ·ͱΊ

Slide 51

Slide 51 text

© 2016 Takashi Takebayashi File server Subversion DropBox, OneDrive, Google Drive Git GitHub Bitbucket Visual Studio Team Services Version control systems, services

Slide 52

Slide 52 text

© 2016 Takashi Takebayashi GitHub You will not be allowed to push files larger than 100 MB Bitbucket Size limit 2 GB: We will disable your ability to push to the repository Visual Studio Team Services You can put in between 2.2TB and 10.5TB Git hosting services’ feature

Slide 53

Slide 53 text

© 2016 Takashi Takebayashi 1ϑΝΠϧ͕100MB௒->Git LFS or Visual Studio Team ServicesΛ࢖͏ 1GB௒ϦϙδτϦ->Bitbucket or Visual Studio Team ServicesΛ࢖͏ 2GB௒ϦϙδτϦ->Visual Studio Team ServicesΛ࢖͏ 2.2TB-10.5TB௒ϦϙδτϦ->??? To use service properly αʔϏεΛ࢖͍෼͚Δ

Slide 54

Slide 54 text

© 2016 Takashi Takebayashi Takashi Takebayashi @changeworlds Microsoft MVP for Visual Studio and Development Technologies Blog : http://changesworlds.com/ Role : Scrum Master, Agile Coach, Biz&Tech cross-functional paradigm Writing : Build Insider(ALM, DevOps), mynavinews(TeamDev) Community : εΫϥϜಓ, TFSUGίΞϝϯό Speaker

Slide 55

Slide 55 text

© 2016 Takashi Takebayashi What is my disk quota? Working with large files What kind of limits do you have on repository/file/upload size? How much data can you put on VSOnline? References

Slide 56

Slide 56 text

© 2016 Takashi Takebayashi Thank you for your attention. Any questions?