Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Starting MOGOK - やさしい MOGOK の始めかた -
Search
Tomokazu Kiyohara
February 16, 2013
Technology
170
1
Share
Starting MOGOK - やさしい MOGOK の始めかた -
IIJ の Ruby on Rails 向け PaaS である MOGOK の使い方。
Kanazawa.rb #6 (2013/02/16) の発表資料。
Tomokazu Kiyohara
February 16, 2013
More Decks by Tomokazu Kiyohara
See All by Tomokazu Kiyohara
読めるかな?ちょっとレアなRubyの記法
kiyohara
0
93
Lightning Talk イベント運営を いいがにやりたい
kiyohara
0
130
首負担皆無!ゼログラビティ プログラミングスタイル
kiyohara
0
420
北陸で Ruby なお仕事に携わるための3つの戦略
kiyohara
1
1.7k
Algolia in CAMPFIRE
kiyohara
0
4k
地方エンジニアの日常 - 業務からコミュニティ活動まで
kiyohara
0
340
Web to macOS native app
kiyohara
0
440
金沢アプリ開発塾セミナー資料「テストについて」
kiyohara
1
310
Git インフラ選定事例 - 株式会社クルウィットが GitHub を選んだ理由
kiyohara
0
530
Other Decks in Technology
See All in Technology
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
450
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
1.1k
分断された OT と IT を繋ぐ架け橋 -Kubernetes が切り拓く 産業用組み込み製品の現在地 -
yudaiono
1
120
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
120
Directions Asia 2026 | Beyond Buildable AI Agents: Let’s Visualize Partner Value in the AI Era
ryoheig0405
0
110
20260516_SecJAWS_Days
takuyay0ne
2
470
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
830
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
650
RedmineをAIで効率的に使う検証
yoshiokacb
0
140
[みん強]AIの価値を最大化するデータ基盤戦略:Self-Service型Data Meshへの転換とAgentic AI Meshに向けた取り組み with Snowflake他
y_matsubara
1
140
Cortex(Code) を ML モデルの 精度改善サイクルに組み込む.pdf
oimo23
0
200
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
Docker and Python
trallard
47
3.8k
WENDY [Excerpt]
tessaabrams
10
37k
Exploring anti-patterns in Rails
aemeredith
3
360
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
It's Worth the Effort
3n
188
29k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
140
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Transcript
2013/02/16 Kanazawa.rb Meetup #6 Starting MOGOK ʙ ͍͞͠ MOGOK ͷ࢝Ί͔ͨ
ʙ
What is
MOGOK ✤ IIJ (Internet Initiative Japan) ͕ఏڙ͢Δ ✤ Ruby on
Rails ΞϓϦέʔγϣϯͷ ✤ ։ൃࢧԉڥͱ࣮ߦڥΛ ✤ ఏڙ͢ΔαʔϏε PaaS (Platform as a Service)
MOGOK ✤ IIJ (Internet Initiative Japan) ͕ఏڙ͢Δ ✤ Ruby on
Rails ΞϓϦέʔγϣϯͷ ✤ ։ൃࢧԉڥͱ࣮ߦڥΛ ✤ ఏڙ͢ΔαʔϏε PaaS (Platform as a Service) !ఏڙ : ࠓͯ͢ແঈ
MOGOK ✤ http://mogok.jp
MOGOK ʢ։ൃࢧԉڥʣ ✤ Web UI ✤ ΞϓϦέʔγϣϯཧ ✤ υΩϡϝϯτɾϑΥʔϥϜ ✤
CLI (gem ͱͯ͠ఏڙ) ✤ Git ϦϙδτϦ (࠷େ 100MB)
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
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 ͍ͣΕ༗ঈϓϥϯ
How to
Flow ✤ Git ͷಋೖ ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ ✤ MOGOK CLI
ͷΠϯετʔϧ ✤ MOGOK ͷσϓϩΠ ✤ ΞϓϦέʔγϣϯཧ
Flow ✤ Git ͷಋೖ ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ ✤ MOGOK CLI
ͷΠϯετʔϧ ✤ MOGOK ͷσϓϩΠ ✤ ΞϓϦέʔγϣϯཧ
Git ͷಋೖ $ cd <your RoR app dir> $ git
init $ git add . $ git commit -m "first commit"
Flow ✤ Git ͷಋೖ ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ ✤ MOGOK CLI
ͷΠϯετʔϧ ✤ MOGOK ͷσϓϩΠ ✤ ΞϓϦέʔγϣϯཧ
RoRΞϓϦέʔγϣϯͷίϯϑΟάઃఆ ✤ Bundler (Gemfile) ✤ Env (config/environments/production.rb)
Bundler : gem 'mysql2' gem 'therubyracer', :platforms => :ruby $
vim Gemfile ✤ MOGOK ڥͰඞཁͱͳΔ gem Λઃఆ
Env $ vim config/environments/production.rb : config.serve_static_assets = true : ✤
/public/* ͷ static ίϯςϯπΛ༗ޮԽ ✤ (͓ͦΒ͘)͋Β͔͡Ί false ઃఆ͕͋ΔͷͰ true ʹมߋ
Flow ✤ Git ͷಋೖ ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ ✤ MOGOK CLI
ͷΠϯετʔϧ ✤ MOGOK ͷσϓϩΠ ✤ ΞϓϦέʔγϣϯཧ
MOGOK CLI ͷΠϯετʔϧ ✤ gem ϑΝΠϧͷμϯϩʔυ
MOGOK CLI ͷΠϯετʔϧ ✤ gem ϑΝΠϧͷΠϯετʔϧ $ gem install mogok-x.x.x.gem
$ mogok list $ mogok --help ✤ MOGOK ΞΧϯτͷ "ID/Password" ͕ٻΊΒΕΔ ✤ ࠷ॳͷ1ճͷΈ
Flow ✤ Git ͷಋೖ ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ ✤ MOGOK CLI
ͷΠϯετʔϧ ✤ MOGOK ͷσϓϩΠ ✤ ΞϓϦέʔγϣϯཧ
MOGOKͷσϓϩΠ ✤ ΞϓϦέʔγϣϯొ ✤ ࢿࡐͷసૹ ✤ ΞϓϦέʔγϣϯߏங
ΞϓϦέʔγϣϯొ $ mogok create <app name> ✤ RoR app dir
Ͱ࣮ߦ͢Δ͜ͱΛڧ͘ਪ ✤ Git remote ʹ MOGOK ڥ͕ొ͞ΕΔ ※ MOGOK CLI ͜ͷΛࢀর͠ͳ͕Βಈ࡞͢Δ(--app option ͋Δ͕͔ͳΓ໘) ✤ <app name> MOGOKγεςϜશମͰҰҙ ✤ <app name>.ruby.iijgio.com
ࢿࡐͷసૹ $ git push mogok master ✤ MOGOK ΞΧϯτͷ "ID/Password"
͕ٻΊΒΕΔ ✤ ຖճೖྗ͕ඞཁ ✤ "$ git config credential.helper store" ͓ͯ͘͠ͱָ ✤ "~/.git-credentials" ʹอଘ͞ΕΔͷͰѻ͍ʹҙ tips
ΞϓϦέʔγϣϯߏங $ mogok build $ mogok rake db:migrate
Flow ✤ Git ͷಋೖ ✤ RoR ΞϓϦέʔγϣϯͷίϯϑΟάมߋ ✤ MOGOK CLI
ͷΠϯετʔϧ ✤ MOGOK ͷσϓϩΠ ✤ ΞϓϦέʔγϣϯཧ
ΞϓϦέʔγϣϯཧ $ mogok info $ mogok start $ mogok stop
$ mogok restart ✤ MOGOK CLI ͔Βͷૢ࡞
ΞϓϦέʔγϣϯཧ ✤ Web UI ͔Βͷૢ࡞
Conclusion
·ͱΊ ✤ Ruby on Rails ͳ PaaS ✤ !൛͕ͩແྉͰ͔ͳΓͷػೳ͕͑Δ ✤
Git & mogok ίϚϯυͰσϓϩΠ ✤ mogok ίϚϯυ or Web UI Ͱίϯτϩʔϧ
Thank you Tomokazu Kiyohara http://facebook.com/tomokazu.kiyohara http://twitter.com/kiyohara
extra
Bundler tips ✤ ։ൃڥͱMOGOKڥͰґଘ gem Λ͚Δͱศར ✤ ։ൃڥʹ MySQL ͕ೖ͍ͬͯͳ͍ͱ͖ͳͲ
group :mogok do gem 'mysql2' gem 'therubyracer', :platforms => :ruby
end $ vim Gemfile ✤ MOGOK ڥ͚ gem Λ group Խ Bundler tips
: BUNDLE_WITHOUT: mogok $ vim .bundle/config ✤ ։ൃڥͰ bundle command
ͷର֎ʹࢦఆ Bundler tips
✤ config/database.yml ✤ ಛผʹฤू͢Δඞཁͳ͠ ✤ MOGOKڥσϓϩΠ࣌ʹઐ༻ͷͷ͕ར༻͞ΕΔ Env tips
✤ "$mogok build" ͨ͠Β ✤ "$ mogok restart" →× ✤
"$ mogok stop; mogok start" →◦ build & restart tips