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

36
2013/02/16 Kanazawa.rb Meetup #6 Starting MOGOK やさしい MOGOK の始めかた

description

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

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

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

2013/02/16 Kanazawa.rb Meetup #6

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

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

What is

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

MOGOK

✤ IIJ (Internet Initiative Japan) が提供する

✤ Ruby on Rails アプリケーションの

✤ 開発支援環境と実行環境を

✤ 提供するサービス

PaaS(Platform as a Service)

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

MOGOK

✤ IIJ (Internet Initiative Japan) が提供する

✤ Ruby on Rails アプリケーションの

✤ 開発支援環境と実行環境を

✤ 提供するサービス

PaaS(Platform as a Service)

!提供 : 今はすべて無償

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

MOGOK

✤ http://mogok.jp

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

MOGOK (開発支援環境)

✤ Web UI

✤ アプリケーション管理

✤ ドキュメント・フォーラム

✤ CLI (gem として提供)

✤ Git リポジトリ (最大 100MB)

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

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

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

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

いずれは有償プランも

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

How to

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

Flow

✤ Git の導入

✤ RoR アプリケーションのコンフィグ変更

✤ MOGOK CLI のインストール

✤ MOGOK へのデプロイ

✤ アプリケーション管理

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

Flow

✤ Git の導入

✤ RoR アプリケーションのコンフィグ変更

✤ MOGOK CLI のインストール

✤ MOGOK へのデプロイ

✤ アプリケーション管理

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

Git の導入

$ cd <your RoR app dir>

$ git init

$ git add .

$ git commit -m "first commit"

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

Flow

✤ Git の導入

✤ RoR アプリケーションのコンフィグ変更

✤ MOGOK CLI のインストール

✤ MOGOK へのデプロイ

✤ アプリケーション管理

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

RoRアプリケーションのコンフィグ設定

✤ Bundler (Gemfile)

✤ Env (config/environments/production.rb)

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

Bundler

:

gem 'mysql2'

gem 'therubyracer', :platforms => :ruby

$ vim Gemfile

✤ MOGOK 環境で必要となる gem を設定

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

Env

$ vim config/environments/production.rb

:

config.serve_static_assets = true

:

✤ /public/* 等の static コンテンツを有効化

✤ (おそらく)あらかじめ false 設定があるので true に変更

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

Flow

✤ Git の導入

✤ RoR アプリケーションのコンフィグ変更

✤ MOGOK CLI のインストール

✤ MOGOK へのデプロイ

✤ アプリケーション管理

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

MOGOK CLI のインストール

✤ gem ファイルのダウンロード

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

MOGOK CLI のインストール

✤ gem ファイルのインストール

$ gem install mogok-x.x.x.gem

$ mogok list

$ mogok --help

✤ MOGOK アカウントの "ID/Password" が求められる

✤ 最初の1回のみ

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

Flow

✤ Git の導入

✤ RoR アプリケーションのコンフィグ変更

✤ MOGOK CLI のインストール

✤ MOGOK へのデプロイ

✤ アプリケーション管理

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

MOGOKへのデプロイ

✤ アプリケーション登録

✤ 資材の転送

✤ アプリケーション構築

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

アプリケーション登録

$ mogok create <app name>

✤ RoR app dir で実行することを強く推奨

✤ Git remote に MOGOK 環境が登録される※ MOGOK CLI はこの値を参照しながら動作する(--app option もあるがかなり面倒)

✤ <app name> は MOGOKシステム全体で一意

✤ <app name>.ruby.iijgio.com

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

資材の転送

$ git push mogok master

✤ MOGOK アカウントの "ID/Password" が求められる

✤ 毎回入力が必要

✤ "$ git config credential.helper store" しておくと楽

✤ "~/.git-credentials" に保存されるので扱いには注意

tips

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

アプリケーション構築

$ mogok build

$ mogok rake db:migrate

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

Flow

✤ Git の導入

✤ RoR アプリケーションのコンフィグ変更

✤ MOGOK CLI のインストール

✤ MOGOK へのデプロイ

✤ アプリケーション管理

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

アプリケーション管理

$ mogok info

$ mogok start

$ mogok stop

$ mogok restart

✤ MOGOK CLI からの操作

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

アプリケーション管理

✤ Web UI からの操作

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

Conclusion

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

まとめ

✤ Ruby on Rails な PaaS

✤ !版だが無料でかなりの機能が使える

✤ Git & mogok コマンドでデプロイ

✤ mogok コマンド or Web UI でコントロール

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

Thank you

Tomokazu Kiyoharahttp://facebook.com/tomokazu.kiyoharahttp://twitter.com/kiyohara

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

extra

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

Bundlertips

✤ 開発環境とMOGOK環境で依存 gem を分けると便利

✤ 開発環境に MySQL が入っていないときなど

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

group :mogok do

gem 'mysql2'

gem 'therubyracer', :platforms => :ruby

end

$ vim Gemfile

✤ MOGOK 環境向け gem を group 化

Bundlertips

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

:

BUNDLE_WITHOUT: mogok

$ vim .bundle/config

✤ 開発環境では bundle command の対象外に指定

Bundlertips

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

✤ config/database.yml

✤ 特別に編集する必要なし

✤ MOGOK環境デプロイ時には専用のものが利用される

Envtips

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

✤ "$mogok build" したら

✤ "$ mogok restart" →×✤ "$ mogok stop; mogok start" →○

build & restarttips