Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHubが落ちた朝は... / github_is_dead

GitHubが落ちた朝は... / github_is_dead

Presented on PHP BLT #3 #phpblt
http://phpblt.connpass.com/event/25341/

Jun Watanabe

March 01, 2016
Tweet

More Decks by Jun Watanabe

Other Decks in Programming

Transcript

  1. GitHub͕
    མͪͨே͸...
    2016/03/01 PHP BLT #3
    Jun Watanabe @rela1470

    View Slide

  2. Jun Watanabe @rela1470
    • ΃ͪͺʔ&ࣾձਓ6೥໨
    • ORATTA, Inc Chief Engineer
    • http://rela.red/
    ʘWe are hiring!ʗ

    View Slide

  3. Έͳ͞Μ
    GitHub
    ࢖ΘΕͯ·͔͢!

    View Slide

  4. GitΛ࢖ͬͯΔํͳΒ
    ໾ʹཱͭ(͔΋)
    ͸͍ͺʔ΃ͪͺʔ͘Γ͑ʔͨʔ
    ͷօ༷͓෇͖߹͍͍ͩ͘͞

    View Slide

  5. 2016೥01݄28೔ޕલ9࣌

    View Slide

  6. View Slide

  7. View Slide

  8. ʘUnicorn!ʗ

    View Slide

  9. Ѩඓڣש
    ͋ͼ͖ΐ͏͔ΜͬͯΑΉΜͩΑ!

    View Slide

  10. όϦόϦίʔυॻ͜͏ͱ
    ࢥͬͯͨͷʹͳʔ
    GitHub͕མͪͯΔΜͳΒ
    ࢓ํͳ͍ͳʔ

    View Slide

  11. View Slide

  12. Ͳ͏͢Ε͹Α͔͔ͬͨ

    View Slide

  13. 3ͭͷબ୒ࢶΛ
    ఏҊ͠·͢

    View Slide

  14. 1.༗څΛऔΔ

    View Slide

  15. View Slide

  16. 2.όοΫΞοϓΛ࢖͏

    View Slide

  17. View Slide

  18. ORATTA͸
    ࢓ࣄͰ͖·ͨ͠
    ʘWe are hiring!ʗ

    View Slide

  19. ΋ͪΖΜ
    ༗څ
    ී௨ʹऔΕ·͢(স
    ʘWe are hiring!ʗ

    View Slide

  20. όοΫΞοϓ
    ͯ͠ͳ͔ͬͨ৔߹

    View Slide

  21. ͦ΋ͦ΋Gitͱ͸

    View Slide

  22. ෼ࢄܕ
    όʔδϣϯ؅ཧγεςϜ

    View Slide

  23. ෼ࢄܕ

    View Slide

  24. खݩʹ
    όοΫΞοϓ
    ͞ΕͯΔ͡ΌΜ

    View Slide

  25. ࠷ۙfetchͯͦ͠͏ͳ
    ಉ྅Λ୳͢

    View Slide

  26. 3.ಉ྅Λੜ͚ᩴʹ͢Δ

    View Slide

  27. ಉ྅ͷPCΛ
    ੜ͚ᩴʹ
    ͠Α͏!

    View Slide

  28. ΈΜͳϋοϐʔ
    ※ͨͩ͠ಉ྅1໊Λআ͘

    View Slide

  29. View Slide

  30. ಉ྅ͷPC͕
    Windowsͷ৔߹

    View Slide

  31. 1.
    git daemonΛ࢖͏
    2.
    sshͰؤுΔ

    View Slide

  32. 1.
    git daemonΛ࢖͏

    View Slide

  33. Step1
    ϩʔΧϧͷgitΛ
    ϕΞϦϙδτϦʹมߋ

    View Slide

  34. ී௨΍Δͱ͖
    mkdir php_blt_03.git
    cd php_blt_03.git
    git init --bare --shared
    cd ../
    cd php_blt_03
    git remote add --mirror localbare /Users/rela/php_blt_03.git
    git push --mirror localbare master

    View Slide

  35. ࠓճ͸ۓٸ࣌ͳͷͰ

    View Slide

  36. ಉ྅PCͷ
    ϫʔΫίϐʔΛ
    ݩʹ
    ϕΞϦϙδτϦ
    Λ࡞Γ·͢

    View Slide

  37. ϫʔΫίϐʔΛࣺͯΔ

    View Slide

  38. ϫʔΫίϐʔΛࣺͯΔ

    View Slide

  39. ϫʔΫίϐʔΛࣺͯΔ

    View Slide

  40. ϕΞϦϙδτϦʹมߋ

    View Slide

  41. ϕΞϦϙδτϦʹมߋ
    [core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
    [remote "origin"]
    url = [email protected]:rela1470/php_blt_03.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
    remote = origin
    merge = refs/heads/master
    → true

    View Slide

  42. Step2
    git daemon༻ͷ
    ϑΝΠϧΛ࡞੒
    git-daemon-export-ok

    View Slide

  43. View Slide

  44. Step3
    git daemonىಈ

    View Slide

  45. git daemonىಈ
    Git For Windows(msysgit)ͷCUIͰ
    git daemon --enable=receive-pack --base-path=/C/Users/rela
    --export-all Ͱgit-daemon-export-okΛ࡞Βͳͯ͘΋શެ։
    —enable=receive-pack ͰpushڐՄ

    View Slide

  46. ׬ྃʘ(^o^)ʗ

    View Slide

  47. ࢼͯ͠ΈΑ͏!
    $ cd php_blt_03/
    $ git remote add ikenie git://192.168.93.7/php_blt_03.git
    $ git fetch ikenie
    From git://192.168.93.7/php_blt_03
    * [new branch] master -> ikenie/master

    View Slide

  48. ಉ྅ͷPC͕
    Macͷ৔߹

    View Slide

  49. 1.
    git daemonΛ࢖͏
    2.
    sshͰؤுΔ

    View Slide

  50. 2.
    sshͰؤுΔ

    View Slide

  51. Step1
    ϩʔΧϧͷgitΛ
    ϕΞϦϙδτϦʹมߋ

    View Slide

  52. ϩʔΧϧͷgitΛ
    ϕΞϦϙδτϦʹมߋ
    $ pwd
    /Users/Watanabe/php_blt_03
    $ ll
    total 520
    drwxr-xr-x 5 Watanabe staff 170 2 26 18:15 .
    drwxr-xr-x+ 50 Watanabe staff 1700 2 26 18:15 ..
    drwxr-xr-x 12 Watanabe staff 408 2 26 18:15 .git
    -rw-r--r-- 1 Watanabe staff 12 2 26 18:15 README.md
    -rw-r--r-- 1 Watanabe staff 259625 2 26 18:15
    abd6e4b427db9a9735b72c035b88f016.png

    View Slide

  53. ϩʔΧϧͷgitΛ
    ϕΞϦϙδτϦʹมߋ
    $cd /Users/Watanabe/
    $mv php_blt_03/.git/ php_blt_03.git
    $rm -rf php_blt_03
    $vi php_blt_03.git/config

    View Slide

  54. ϩʔΧϧͷgitΛ
    ϕΞϦϙδτϦʹมߋ
    [core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
    [remote "origin"]
    url = [email protected]:rela1470/php_blt_03.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
    remote = origin
    merge = refs/heads/master
    → true

    View Slide

  55. Step2
    ֎෦͔Β
    SSH઀ଓग़དྷΔΑ͏ʹ
    ઃఆมߋ

    View Slide

  56. View Slide

  57. View Slide

  58. ׬ྃʘ(^o^)ʗ

    View Slide

  59. ࢼͯ͠ΈΑ͏!
    $ cd php_blt_03/
    $ git remote add ikenie ssh://[email protected]/Users/Watanabe/
    php_blt_03.git
    $ git fetch ikenie
    Password:
    From ssh://192.168.92.18/Users/Watanabe/php_blt_03
    * [new branch] master -> ikenie/master

    View Slide

  60. ಉ྅ͷPC͕
    Windowsͷ৔߹

    View Slide

  61. 1.
    git daemonΛ࢖͏
    2.
    sshͰؤுΔ

    View Slide

  62. 2.
    sshͰؤுΔ

    View Slide

  63. Windowsʹ

    OpenSSHΛ
    Πϯετʔϧ͢Δ
    https://github.com/PowerShell/Win32-OpenSSH

    View Slide

  64. ؤுΕͳ͔ͬͨ

    View Slide

  65. ͕࣌ؒͳ͍ͷͰ
    εΩοϓ
    ʘࢿྉͰͲ͏ͧʗ

    View Slide

  66. ్த݁Ռใࠂ

    View Slide

  67. Step1
    ϩʔΧϧͷgitΛ
    ϕΞϦϙδτϦʹมߋ

    View Slide

  68. লུ

    View Slide

  69. Step2
    ֎෦͔Β
    SSH઀ଓग़དྷΔΑ͏ʹ
    ઃఆมߋ

    View Slide

  70. Windowsʹ͸
    SSH
    ͳ͍Ͱ͢

    View Slide

  71. ͱ͍͏͜ͱͰ

    View Slide

  72. Windowsʹ

    OpenSSHΛ
    Πϯετʔϧ͢Δ
    https://github.com/PowerShell/Win32-OpenSSH

    View Slide

  73. Microsoft͕
    OpenSSH
    Ҡ২த

    View Slide

  74. GitHub͔Βμ΢ϯϩʔυ
    C:\Program Filesʹղౚ

    View Slide

  75. ؅ཧऀݖݶͰ
    Power Shell

    View Slide

  76. SSHϙʔτΛۭ͚Δ
    New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -
    Action Allow -DisplayName SSH

    View Slide

  77. SSHϗετΩʔ࡞੒
    cd 'C:\Program Files\OpenSSH-Win32’
    .\ssh-keygen.exe -A

    View Slide

  78. View Slide

  79. ΠϯετʔϧεΫϦϓτ࣮ߦ
    cd 'C:\Program Files\OpenSSH-Win32’
    .\install-sshlsa.ps1

    View Slide

  80. Τϥʔ͕ग़ͨ৔߹

    View Slide

  81. View Slide

  82. ࣮ߦϙϦγʔΛ
    ऑΊΔ

    View Slide

  83. View Slide

  84. Restricted
    ϩʔΧϧ:࣮ߦෆՄ
    ϦϞʔτ:࣮ߦෆՄ
    AllSigned
    ϩʔΧϧ:ূ໌ॻΛཁٻ
    ϦϞʔτ:ূ໌ॻΛཁٻ
    RemoteSigned
    ϩʔΧϧ:࣮ߦڐՄ
    ϦϞʔτ:ূ໌ॻΛཁٻ
    Unrestricted
    ϩʔΧϧ:࣮ߦڐՄ
    ϦϞʔτ:֬ೝͷޙڐՄ

    View Slide

  85. ऴΘͬͨΒ໭ͦ͏Ͷ

    View Slide

  86. ऴΘͬͨΒ໭ͦ͏Ͷ

    View Slide

  87. ࠶ىಈ

    View Slide

  88. αʔϏεొ࿥

    View Slide

  89. αʔϏεొ࿥ɺىಈ
    cd 'C:\Program Files\OpenSSH-Win32’
    .\sshd.exe install
    Start-Service sshd

    View Slide

  90. ࢼ͠ʹܨ͍ͰΈΔ

    View Slide

  91. ࢼ͠ʹܨ͍ͰΈΔ
    Watanabe-no-MacBook-Pro:~ Watanabe$ ssh [email protected]
    [email protected]'s password:
    Microsoft Windows [Version 10.0.10586]
    (c) 2015 Microsoft Corporation. All rights reserved.
    [email protected] C:\Users\rela>

    View Slide

  92. ŝŦᴸᴸᴸᴸ ƅ㱼ƅ)ᴸᴸᴸᴸ!!

    View Slide

  93. gitܨ͕Δ͔ͳ?
    $ git clone ssh://[email protected]/C/Users/rela/php_blt_03.git
    Cloning into 'php_blt_03'...
    [email protected]'s password:
    packet_write_wait: Connection to 192.168.93.7: Broken pipe
    fatal: Could not read from remote repository.
    Please make sure you have the correct access rights
    and the repository exists.

    View Slide

  94. ͩΊͩͬͨ

    View Slide

  95. ΋͏গ͠Ͱ
    ߦ͚ͦ͏ͳؾ͕͢Δ

    View Slide

  96. ʘ୭͔͓ئ͍͠·͢ʗ

    View Slide

  97. ݁࿦

    View Slide

  98. GitͳΒ
    େ఍
    ͳΜͱ͔ͳΔ

    View Slide

  99. ୅ସखஈΛ
    ֬อ͢Δ͜ͱ͕
    େࣄ

    View Slide

  100. ಉ྅ͷPCʹ
    Pushͱ͔
    അࣛͳ͜ͱ
    ͯ͠ͳ͍Ͱ

    View Slide

  101. GitHub͕མͪͨΒ
    BitBucketΛ࢖͓͏

    View Slide

  102. GitHub Enterprise
    BitBucket
    GitLab
    GitBucket

    Gitorious

    Gitolite
    Gitosis

    View Slide

  103. GitHub Enterprise
    BitBucket
    GitLab
    GitBucket

    Gitorious

    Gitolite
    Gitosis
    Φεεϝ!→

    View Slide

  104. View Slide

  105. ਓੜॳͷόζͬͨهࣄͰ͢:D

    http://rela1470.hatenablog.jp/entry/20140520

    View Slide

  106. ྑ͍GitϥΠϑΛ!

    View Slide