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

Starting MOGOK - やさしい MOGOK の始めかた -

Starting MOGOK - やさしい MOGOK の始めかた -

IIJ の Ruby on Rails 向け PaaS である MOGOK の使い方。
Kanazawa.rb #6 (2013/02/16) の発表資料。

Tomokazu Kiyohara

February 16, 2013
Tweet

More Decks by Tomokazu Kiyohara

Other Decks in Technology

Transcript

  1. 2013/02/16 Kanazawa.rb Meetup #6
    Starting MOGOK
    ʙ ΍͍͞͠ MOGOK ͷ࢝Ί͔ͨ ʙ

    View Slide

  2. What is

    View Slide

  3. MOGOK
    ✤ IIJ (Internet Initiative Japan) ͕ఏڙ͢Δ
    ✤ Ruby on Rails ΞϓϦέʔγϣϯͷ
    ✤ ։ൃࢧԉ؀ڥͱ࣮ߦ؀ڥΛ
    ✤ ఏڙ͢ΔαʔϏε
    PaaS
    (Platform as a Service)

    View Slide

  4. MOGOK
    ✤ IIJ (Internet Initiative Japan) ͕ఏڙ͢Δ
    ✤ Ruby on Rails ΞϓϦέʔγϣϯͷ
    ✤ ։ൃࢧԉ؀ڥͱ࣮ߦ؀ڥΛ
    ✤ ఏڙ͢ΔαʔϏε
    PaaS
    (Platform as a Service)
    !ఏڙ : ࠓ͸͢΂ͯແঈ

    View Slide

  5. MOGOK
    ✤ http://mogok.jp

    View Slide

  6. MOGOK ʢ։ൃࢧԉ؀ڥʣ
    ✤ Web UI
    ✤ ΞϓϦέʔγϣϯ؅ཧ
    ✤ υΩϡϝϯτɾϑΥʔϥϜ
    ✤ CLI (gem ͱͯ͠ఏڙ)
    ✤ Git ϦϙδτϦ (࠷େ 100MB)

    View Slide

  7. MOGOK ʢ࣮ߦ؀ڥʣ
    ✤ Web
    ✤ 1 process
    ✤ 400MB memory
    ✤ 150MB file (w/ gems)
    ✤ Thin/Ruby 1.9.3/RoR 3.x
    ✤ *.ruby.iijgio.com
    ✤ DB
    ✤ 1 connection
    ✤ 100MB memory
    ✤ 100MB data
    ✤ MySQL 5.5

    View Slide

  8. MOGOK ʢ࣮ߦ؀ڥʣ
    ✤ Web
    ✤ 1 process
    ✤ 400MB memory
    ✤ 150MB file (w/ gems)
    ✤ Thin/Ruby 1.9.3/RoR 3.x
    ✤ *.ruby.iijgio.com
    ✤ DB
    ✤ 1 connection
    ✤ 100MB memory
    ✤ 100MB data
    ✤ MySQL 5.5
    ͍ͣΕ͸༗ঈϓϥϯ΋

    View Slide

  9. How to

    View Slide

  10. Flow
    ✤ Git ͷಋೖ
    ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ
    ✤ MOGOK CLI ͷΠϯετʔϧ
    ✤ MOGOK ΁ͷσϓϩΠ
    ✤ ΞϓϦέʔγϣϯ؅ཧ

    View Slide

  11. Flow
    ✤ Git ͷಋೖ
    ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ
    ✤ MOGOK CLI ͷΠϯετʔϧ
    ✤ MOGOK ΁ͷσϓϩΠ
    ✤ ΞϓϦέʔγϣϯ؅ཧ

    View Slide

  12. Git ͷಋೖ
    $ cd
    $ git init
    $ git add .
    $ git commit -m "first commit"

    View Slide

  13. Flow
    ✤ Git ͷಋೖ
    ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ
    ✤ MOGOK CLI ͷΠϯετʔϧ
    ✤ MOGOK ΁ͷσϓϩΠ
    ✤ ΞϓϦέʔγϣϯ؅ཧ

    View Slide

  14. RoRΞϓϦέʔγϣϯͷίϯϑΟάઃఆ
    ✤ Bundler (Gemfile)
    ✤ Env (config/environments/production.rb)

    View Slide

  15. Bundler
    :
    gem 'mysql2'
    gem 'therubyracer', :platforms => :ruby
    $ vim Gemfile
    ✤ MOGOK ؀ڥͰඞཁͱͳΔ gem Λઃఆ

    View Slide

  16. Env
    $ vim config/environments/production.rb
    :
    config.serve_static_assets = true
    :
    ✤ /public/* ౳ͷ static ίϯςϯπΛ༗ޮԽ
    ✤ (͓ͦΒ͘)͋Β͔͡Ί false ઃఆ͕͋ΔͷͰ true ʹมߋ

    View Slide

  17. Flow
    ✤ Git ͷಋೖ
    ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ
    ✤ MOGOK CLI ͷΠϯετʔϧ
    ✤ MOGOK ΁ͷσϓϩΠ
    ✤ ΞϓϦέʔγϣϯ؅ཧ

    View Slide

  18. MOGOK CLI ͷΠϯετʔϧ
    ✤ gem ϑΝΠϧͷμ΢ϯϩʔυ

    View Slide

  19. MOGOK CLI ͷΠϯετʔϧ
    ✤ gem ϑΝΠϧͷΠϯετʔϧ
    $ gem install mogok-x.x.x.gem
    $ mogok list
    $ mogok --help
    ✤ MOGOK ΞΧ΢ϯτͷ "ID/Password" ͕ٻΊΒΕΔ
    ✤ ࠷ॳͷ1ճͷΈ

    View Slide

  20. Flow
    ✤ Git ͷಋೖ
    ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ
    ✤ MOGOK CLI ͷΠϯετʔϧ
    ✤ MOGOK ΁ͷσϓϩΠ
    ✤ ΞϓϦέʔγϣϯ؅ཧ

    View Slide

  21. MOGOK΁ͷσϓϩΠ
    ✤ ΞϓϦέʔγϣϯొ࿥
    ✤ ࢿࡐͷసૹ
    ✤ ΞϓϦέʔγϣϯߏங

    View Slide

  22. ΞϓϦέʔγϣϯొ࿥
    $ mogok create
    ✤ RoR app dir Ͱ࣮ߦ͢Δ͜ͱΛڧ͘ਪ঑
    ✤ Git remote ʹ MOGOK ؀ڥ͕ొ࿥͞ΕΔ
    ※ MOGOK CLI ͸͜ͷ஋Λࢀর͠ͳ͕Βಈ࡞͢Δ(--app option ΋͋Δ͕͔ͳΓ໘౗)
    ✤ ͸ MOGOKγεςϜશମͰҰҙ
    ✤ .ruby.iijgio.com

    View Slide

  23. ࢿࡐͷసૹ
    $ git push mogok master
    ✤ MOGOK ΞΧ΢ϯτͷ "ID/Password" ͕ٻΊΒΕΔ
    ✤ ຖճೖྗ͕ඞཁ
    ✤ "$ git config credential.helper store" ͓ͯ͘͠ͱָ
    ✤ "~/.git-credentials" ʹอଘ͞ΕΔͷͰѻ͍ʹ͸஫ҙ
    tips

    View Slide

  24. ΞϓϦέʔγϣϯߏங
    $ mogok build
    $ mogok rake db:migrate

    View Slide

  25. Flow
    ✤ Git ͷಋೖ
    ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ
    ✤ MOGOK CLI ͷΠϯετʔϧ
    ✤ MOGOK ΁ͷσϓϩΠ
    ✤ ΞϓϦέʔγϣϯ؅ཧ

    View Slide

  26. ΞϓϦέʔγϣϯ؅ཧ
    $ mogok info
    $ mogok start
    $ mogok stop
    $ mogok restart
    ✤ MOGOK CLI ͔Βͷૢ࡞

    View Slide

  27. ΞϓϦέʔγϣϯ؅ཧ
    ✤ Web UI ͔Βͷૢ࡞

    View Slide

  28. Conclusion

    View Slide

  29. ·ͱΊ
    ✤ Ruby on Rails ͳ PaaS
    ✤ !൛͕ͩແྉͰ͔ͳΓͷػೳ͕࢖͑Δ
    ✤ Git & mogok ίϚϯυͰσϓϩΠ
    ✤ mogok ίϚϯυ or Web UI Ͱίϯτϩʔϧ

    View Slide

  30. Thank you
    Tomokazu Kiyohara
    http://facebook.com/tomokazu.kiyohara
    http://twitter.com/kiyohara

    View Slide

  31. extra

    View Slide

  32. Bundler
    tips
    ✤ ։ൃ؀ڥͱMOGOK؀ڥͰґଘ gem Λ෼͚Δͱศར
    ✤ ։ൃ؀ڥʹ MySQL ͕ೖ͍ͬͯͳ͍ͱ͖ͳͲ

    View Slide

  33. group :mogok do
    gem 'mysql2'
    gem 'therubyracer', :platforms => :ruby
    end
    $ vim Gemfile
    ✤ MOGOK ؀ڥ޲͚ gem Λ group Խ
    Bundler
    tips

    View Slide

  34. :
    BUNDLE_WITHOUT: mogok
    $ vim .bundle/config
    ✤ ։ൃ؀ڥͰ͸ bundle command ͷର৅֎ʹࢦఆ
    Bundler
    tips

    View Slide

  35. ✤ config/database.yml
    ✤ ಛผʹฤू͢Δඞཁͳ͠
    ✤ MOGOK؀ڥσϓϩΠ࣌ʹ͸ઐ༻ͷ΋ͷ͕ར༻͞ΕΔ
    Env
    tips

    View Slide

  36. ✤ "$mogok build" ͨ͠Β
    ✤ "$ mogok restart" →×
    ✤ "$ mogok stop; mogok start" →○
    build & restart
    tips

    View Slide