Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Agenda • OSS։ൃ ʹࢀՃ͠Α͏ • GitLab ͷ։ൃ؀ڥߏங • GitLab ͷΞʔΩςΫνϟ

Slide 3

Slide 3 text

ࣾ಺Ͱ Git Λීٴ͢ΔͨΊʹ GitLab Λେྔʹ
 Πϯετʔϧ͢Δඞཁ͕͋ͬͨ

Slide 4

Slide 4 text

Chef ͷ GitLab Cookbook Λ ࡞ͬͯͩΕͰ΋؆୯ʹ
 ΠϯετʔϧͰ͖ΔΑ͏ʹͨ͠

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

OSS։ൃ ͳʹͦΕʁ

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

OSS։ൃ ʹ
 ࢀՃ͢Δʹ͸ʁ

Slide 12

Slide 12 text

͍ͭͰ΋ɺͩΕͰ΋
 ࢀՃͰ͖·͢

Slide 13

Slide 13 text

OSS։ൃ ʹࢀՃͨ͜͠ͱ͕
 ͳ͍ํʹ͸ϑΟʔυόοΫ͕ Φεεϝ

Slide 14

Slide 14 text

ϑΟʔυόοΫ
 Λ͢Δʹ͸ʁ

Slide 15

Slide 15 text

Ϣʔβʔͱͯ͠ 
 OSS Λ࢖͏

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

GitLab ΛϢʔβʔ
 ͱͯ͠࢖͏

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

GitLab ͷ։ൃ؀ڥΛ ߏங͢Δ

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

ద੾ͳ৔ॴʹใࠂ͢Δ
 GitLab ͸ gitlab.com ͷ issues

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

͍ͬ͠ΐʹ
 ମݧ͠·͠ΐ͏ʂ

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

GitLab ͬͯͲΜͳ
 ٕज़Ͱಈ͍͍ͯΔͷʁ

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Gitlab Workhorse Smart reverse proxy language Go

Slide 35

Slide 35 text

Gitaly Git RPC(Remote procedure call) service language Ruby, Go

Slide 36

Slide 36 text

GitLab Shell (sshd) SH access and repository management language Ruby, Go

Slide 37

Slide 37 text

GitLab Rails Web (unicorn) Manage Git repositories with access controls 
 language Ruby, JavaScript

Slide 38

Slide 38 text

GitLab Rails Background Jobs (sidekiq) Async background processing 
 language Ruby

Slide 39

Slide 39 text

GitLab Frontend Web (webpack) Complex frontend features 
 language JavaScript

Slide 40

Slide 40 text

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 …

Slide 41

Slide 41 text

຋༁ͷΠγϡʔ͸
 Ϛʔδ͞Ε΍͍͢ https://github.com/mperham/sidekiq/pull/3720/files