$30 off During Our Annual Pro Sale. View Details »

Contributing to GitLab with OSS Gate

ogom
January 13, 2018

Contributing to GitLab with OSS Gate

ogom

January 13, 2018
Tweet

More Decks by ogom

Other Decks in Technology

Transcript

  1. Contributing to
    GitLab with OSS Gate
    ୈ80ճ Rubyؔ੢ ษڧձ

    View Slide

  2. Agenda
    • OSS։ൃ ʹࢀՃ͠Α͏

    • GitLab ͷ։ൃ؀ڥߏங

    • GitLab ͷΞʔΩςΫνϟ

    View Slide

  3. ࣾ಺Ͱ Git Λීٴ͢ΔͨΊʹ
    GitLab Λେྔʹ

    Πϯετʔϧ͢Δඞཁ͕͋ͬͨ

    View Slide

  4. Chef ͷ GitLab Cookbook Λ
    ࡞ͬͯͩΕͰ΋؆୯ʹ

    ΠϯετʔϧͰ͖ΔΑ͏ʹͨ͠

    View Slide

  5. ͜ͷ GitLab Cookbook ͕
    GitLab ͷ։ൃݩʹ࠾༻͞Εͨ
    ʢVer.4 ʙ Ver.6·Ͱʣ
    https://gitlab.com/gitlab-org/cookbook-gitlab

    View Slide

  6. ։ൃ؀ڥͷߏஙʹ΋ Cookbook
    ͕࠾༻͞Εͨ࣌ظ͕͕͋ͬͨ
    Docker ͕ొ৔

    View Slide

  7. Ͱ΋ Docker ͸౰࣌͸Ϩεϙϯε
    ͕ѱͯ͘Ծ૝؀ڥΛ࢖Θͳ͍
    GDK ͕Ͱ͖ͨ

    View Slide

  8. GitLab Development Kit Ͱ
    OSS։ൃʹࢀՃ͠·ͤΜ͔ʁ

    View Slide

  9. OSS։ൃ ͳʹͦΕʁ

    View Slide

  10. ϥΠηϯε͕Φʔϓϯιʔε
    ͷιϑτ΢ΣΞΛ։ൃ͢Δ
    https://opensource.org/licenses

    View Slide

  11. OSS։ൃ ʹ

    ࢀՃ͢Δʹ͸ʁ

    View Slide

  12. ͍ͭͰ΋ɺͩΕͰ΋

    ࢀՃͰ͖·͢

    View Slide

  13. OSS։ൃ ʹࢀՃͨ͜͠ͱ͕

    ͳ͍ํʹ͸ϑΟʔυόοΫ͕
    Φεεϝ

    View Slide

  14. ϑΟʔυόοΫ

    Λ͢Δʹ͸ʁ

    View Slide

  15. Ϣʔβʔͱͯ͠ 

    OSS Λ࢖͏

    View Slide

  16. ؾ͍ͮͨࣄΛ։ൃݩʹ
    ϑΟʔυόοΫ

    View Slide

  17. GitLab ΛϢʔβʔ

    ͱͯ͠࢖͏

    View Slide

  18. GitLab ͷΠϯετʔ
    ϧ͸ͱͯ΋؆୯
    https://about.gitlab.com/installation/

    View Slide

  19. ৗ࣌SSL΋ Let’s Encrypt
    Ͱ؆୯ʹ҉߸Խ௨৴
    https://qiita.com/ogomr/items/
    238d8649b36bcc8c14ba

    View Slide

  20. GitLab ͷ։ൃ؀ڥΛ
    ߏங͢Δ

    View Slide

  21. GitLab Development
    Kit Ͱ؆୯ʹߏங
    https://qiita.com/ogomr/items/
    cc404bf9373408663b11

    View Slide

  22. GDK ͷखॱΛ࡞੒தʹϑΟʔ
    υόοΫϙΠϯτΛൃݟ
    https://gitlab.com/gitlab-org/gitlab-ce/issues/41513

    View Slide

  23. ࡞ۀϝϞ͔Βใࠂ಺༰
    Λ੔ཧ͢Δ

    View Slide

  24. ։ൃݩʹͱͬͯΘ͔Γ΍
    ͘ͳΑΔΑ͏ฤू͢Δ
    https://gitlab.com/gitlab-org/gitlab-development-kit/
    blob/master/CONTRIBUTING.md

    View Slide

  25. ద੾ͳ৔ॴʹใࠂ͢Δ

    GitLab ͸ gitlab.com ͷ issues

    View Slide

  26. ͳΜͱͳ͘ෑډ͕ߴ͍
    ͱײ͡·͔͢ʁ

    View Slide

  27. ͍ͬ͠ΐʹ

    ମݧ͠·͠ΐ͏ʂ

    View Slide

  28. OSS Gateେࡕ ϫʔΫ
    γϣοϓ 2018-03-10
    https://oss-gate.doorkeeper.jp/events/69160

    View Slide

  29. GitLab ͬͯͲΜͳ

    ٕज़Ͱಈ͍͍ͯΔͷʁ

    View Slide

  30. GitLab Application
    Architecture
    https://docs.gitlab.com/ce/development/
    architecture.html

    View Slide

  31. View Slide

  32. Frontend Development
    Guidelines > Architecture
    https://docs.gitlab.com/ce/development/fe_guide/
    architecture.html

    View Slide

  33. gdk run Ͱ

    ىಈ͢Δϓϩηε
    gitlab-workhorse, gitaly, sshd, rails-web, rails-
    background-jobs, webpack, registry, redis, postgresql

    View Slide

  34. Gitlab
    Workhorse
    Smart reverse proxy

    language Go

    View Slide

  35. Gitaly
    Git RPC(Remote
    procedure call) service

    language Ruby, Go

    View Slide

  36. GitLab
    Shell
    (sshd)
    SH access and
    repository management

    language Ruby, Go

    View Slide

  37. GitLab
    Rails Web
    (unicorn)
    Manage Git repositories
    with access controls


    language Ruby,
    JavaScript

    View Slide

  38. GitLab Rails
    Background
    Jobs (sidekiq)
    Async background
    processing


    language Ruby

    View Slide

  39. GitLab
    Frontend Web
    (webpack)
    Complex frontend
    features


    language JavaScript

    View Slide

  40. GitLab Community
    Edition ͷґଘύοέʔδ
    • Gemfile.lock 226

    • rails, pg, devise, grape, seed-fu, unicorn, sidekiq, rspec …

    • yarn.lock 1098

    • babel, jquery, vue, vuex, webpack, eslint, jasmine, karma …

    View Slide

  41. ຋༁ͷΠγϡʔ͸

    Ϛʔδ͞Ε΍͍͢
    https://github.com/mperham/sidekiq/pull/3720/files

    View Slide