Contributing toGitLab with OSS Gateୈ80ճ Rubyؔ ษڧձ
View Slide
Agenda• OSS։ൃ ʹࢀՃ͠Α͏• GitLab ͷ։ൃڥߏங• GitLab ͷΞʔΩςΫνϟ
ࣾͰ Git Λීٴ͢ΔͨΊʹGitLab Λେྔʹ Πϯετʔϧ͢Δඞཁ͕͋ͬͨ
Chef ͷ GitLab Cookbook Λ࡞ͬͯͩΕͰ؆୯ʹ ΠϯετʔϧͰ͖ΔΑ͏ʹͨ͠
͜ͷ GitLab Cookbook ͕GitLab ͷ։ൃݩʹ࠾༻͞ΕͨʢVer.4 ʙ Ver.6·Ͱʣhttps://gitlab.com/gitlab-org/cookbook-gitlab
։ൃڥͷߏஙʹ Cookbook͕࠾༻͞Εͨ࣌ظ͕͕͋ͬͨDocker ͕ొ
Ͱ Docker ࣌Ϩεϙϯε͕ѱͯ͘ԾڥΛΘͳ͍GDK ͕Ͱ͖ͨ
GitLab Development Kit ͰOSS։ൃʹࢀՃ͠·ͤΜ͔ʁ
OSS։ൃ ͳʹͦΕʁ
ϥΠηϯε͕ΦʔϓϯιʔεͷιϑτΣΞΛ։ൃ͢Δhttps://opensource.org/licenses
OSS։ൃ ʹ ࢀՃ͢Δʹʁ
͍ͭͰɺͩΕͰ ࢀՃͰ͖·͢
OSS։ൃ ʹࢀՃͨ͜͠ͱ͕ ͳ͍ํʹϑΟʔυόοΫ͕Φεεϝ
ϑΟʔυόοΫ Λ͢Δʹʁ
Ϣʔβʔͱͯ͠ OSS Λ͏
ؾ͍ͮͨࣄΛ։ൃݩʹϑΟʔυόοΫ
GitLab ΛϢʔβʔ ͱͯ͠͏
GitLab ͷΠϯετʔϧͱͯ؆୯https://about.gitlab.com/installation/
ৗ࣌SSL Let’s EncryptͰ؆୯ʹ҉߸Խ௨৴https://qiita.com/ogomr/items/238d8649b36bcc8c14ba
GitLab ͷ։ൃڥΛߏங͢Δ
GitLab DevelopmentKit Ͱ؆୯ʹߏஙhttps://qiita.com/ogomr/items/cc404bf9373408663b11
GDK ͷखॱΛ࡞தʹϑΟʔυόοΫϙΠϯτΛൃݟhttps://gitlab.com/gitlab-org/gitlab-ce/issues/41513
࡞ۀϝϞ͔Βใࠂ༰Λཧ͢Δ
։ൃݩʹͱͬͯΘ͔Γ͘ͳΑΔΑ͏ฤू͢Δhttps://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/CONTRIBUTING.md
దͳॴʹใࠂ͢Δ GitLab gitlab.com ͷ issues
ͳΜͱͳ͘ෑډ͕ߴ͍ͱײ͡·͔͢ʁ
͍ͬ͠ΐʹ ମݧ͠·͠ΐ͏ʂ
OSS Gateେࡕ ϫʔΫγϣοϓ 2018-03-10https://oss-gate.doorkeeper.jp/events/69160
GitLab ͬͯͲΜͳ ٕज़Ͱಈ͍͍ͯΔͷʁ
GitLab ApplicationArchitecturehttps://docs.gitlab.com/ce/development/architecture.html
Frontend DevelopmentGuidelines > Architecturehttps://docs.gitlab.com/ce/development/fe_guide/architecture.html
gdk run Ͱ ىಈ͢Δϓϩηεgitlab-workhorse, gitaly, sshd, rails-web, rails-background-jobs, webpack, registry, redis, postgresql
GitlabWorkhorseSmart reverse proxylanguage Go
GitalyGit RPC(Remoteprocedure call) servicelanguage Ruby, Go
GitLabShell(sshd)SH access andrepository managementlanguage Ruby, Go
GitLabRails Web(unicorn)Manage Git repositorieswith access controls language Ruby,JavaScript
GitLab RailsBackgroundJobs (sidekiq)Async backgroundprocessing language Ruby
GitLabFrontend Web(webpack)Complex frontendfeatures language JavaScript
GitLab CommunityEdition ͷґଘύοέʔδ• Gemfile.lock 226• rails, pg, devise, grape, seed-fu, unicorn, sidekiq, rspec …• yarn.lock 1098• babel, jquery, vue, vuex, webpack, eslint, jasmine, karma …
༁ͷΠγϡʔ Ϛʔδ͞Ε͍͢https://github.com/mperham/sidekiq/pull/3720/files