SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Starting MOGOK
∼ やさしい MOGOK の始めかた ∼

                       2013/02/16 Kanazawa.rb Meetup #6
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                           ✤   DB

    ✤   1 process                     ✤   1 connection

    ✤   400MB memory                  ✤   100MB memory

    ✤   150MB file (w/ gems)           ✤   100MB data

    ✤   Thin/Ruby 1.9.3/RoR 3.x       ✤   MySQL 5.5

    ✤   *.ruby.iijgio.com
MOGOK (実行環境)

✤   Web                           ✤   DB

    ✤   1 process                     ✤   1 connection

    ✤   400MB memory                  ✤   100MB memory

    ✤   150MB file (w/ gems)           ✤   100MB data

    ✤   Thin/Ruby 1.9.3/RoR 3.x       ✤   MySQL 5.5

    ✤   *.ruby.iijgio.com

                            いずれは有償プランも
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


    $ vim Gemfile

      :

    gem 'mysql2'

    gem 'therubyracer', :platforms => :ruby



✤   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" が求められる

    ✤   毎回入力が必要


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

               ✤   "~/.git-credentials" に保存されるので扱いには注意
アプリケーション構築

$ mogok build

$ mogok rake db:migrate
Flow

✤   Git の導入

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

✤   MOGOK CLI のインストール

✤   MOGOK へのデプロイ

✤   アプリケーション管理
アプリケーション管理

✤   MOGOK CLI からの操作




    $ mogok info

    $ mogok start

    $ mogok stop

    $ mogok restart
アプリケーション管理

✤   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
tips
           Bundler




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

✤   開発環境に MySQL が入っていないときなど
tips
            Bundler
    $ vim Gemfile

    group :mogok do

     gem 'mysql2'

     gem 'therubyracer', :platforms => :ruby

    end

✤   MOGOK 環境向け gem を group 化
tips
             Bundler
    $ vim .bundle/config

      :

    BUNDLE_WITHOUT: mogok




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



✤   config/database.yml
    ✤   特別に編集する必要なし

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


✤   "$mogok build" したら

    ✤
        "$ mogok restart" →×

    ✤
        "$ mogok stop; mogok start" →○

Mais conteúdo relacionado

Mais de Tomokazu Kiyohara

対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介
対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介
対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介Tomokazu Kiyohara
 
Compact Web - Remind "web compression" -
Compact Web - Remind "web compression" -Compact Web - Remind "web compression" -
Compact Web - Remind "web compression" -Tomokazu Kiyohara
 
USTREAMの視聴率を上げよう!
USTREAMの視聴率を上げよう!USTREAMの視聴率を上げよう!
USTREAMの視聴率を上げよう!Tomokazu Kiyohara
 

Mais de Tomokazu Kiyohara (8)

こわくないプルリク
こわくないプルリクこわくないプルリク
こわくないプルリク
 
Github's HUB
Github's HUBGithub's HUB
Github's HUB
 
対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介
対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介
対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介
 
Beginner's Sinatra
Beginner's SinatraBeginner's Sinatra
Beginner's Sinatra
 
Compact Web - Remind "web compression" -
Compact Web - Remind "web compression" -Compact Web - Remind "web compression" -
Compact Web - Remind "web compression" -
 
Zen coding15min
Zen coding15minZen coding15min
Zen coding15min
 
USTREAMの視聴率を上げよう!
USTREAMの視聴率を上げよう!USTREAMの視聴率を上げよう!
USTREAMの視聴率を上げよう!
 
JavaScript Dynamic Loading
JavaScript Dynamic LoadingJavaScript Dynamic Loading
JavaScript Dynamic Loading
 

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

  • 1. Starting MOGOK ∼ やさしい MOGOK の始めかた ∼ 2013/02/16 Kanazawa.rb Meetup #6
  • 3. MOGOK ✤ IIJ (Internet Initiative Japan) が提供する Ruby on Rails アプリケーションの PaaS ✤ ✤ 開発支援環境と実行環境を (Platform as a Service) ✤ 提供するサービス
  • 4. !提供 : 今はすべて無償 MOGOK ✤ IIJ (Internet Initiative Japan) が提供する Ruby on Rails アプリケーションの PaaS ✤ ✤ 開発支援環境と実行環境を (Platform as a Service) ✤ 提供するサービス
  • 5. MOGOK ✤ http://mogok.jp
  • 6. MOGOK (開発支援環境) ✤ Web UI ✤ アプリケーション管理 ✤ ドキュメント・フォーラム ✤ CLI (gem として提供) ✤ Git リポジトリ (最大 100MB)
  • 7. MOGOK (実行環境) ✤ Web ✤ DB ✤ 1 process ✤ 1 connection ✤ 400MB memory ✤ 100MB memory ✤ 150MB file (w/ gems) ✤ 100MB data ✤ Thin/Ruby 1.9.3/RoR 3.x ✤ MySQL 5.5 ✤ *.ruby.iijgio.com
  • 8. MOGOK (実行環境) ✤ Web ✤ DB ✤ 1 process ✤ 1 connection ✤ 400MB memory ✤ 100MB memory ✤ 150MB file (w/ gems) ✤ 100MB data ✤ Thin/Ruby 1.9.3/RoR 3.x ✤ MySQL 5.5 ✤ *.ruby.iijgio.com いずれは有償プランも
  • 10. Flow ✤ Git の導入 ✤ RoR アプリケーションのコンフィグ変更 ✤ MOGOK CLI のインストール ✤ MOGOK へのデプロイ ✤ アプリケーション管理
  • 11. Flow ✤ Git の導入 ✤ RoR アプリケーションのコンフィグ変更 ✤ MOGOK CLI のインストール ✤ MOGOK へのデプロイ ✤ アプリケーション管理
  • 12. Git の導入 $ cd <your RoR app dir> $ git init $ git add . $ git commit -m "first commit"
  • 13. Flow ✤ Git の導入 ✤ RoR アプリケーションのコンフィグ変更 ✤ MOGOK CLI のインストール ✤ MOGOK へのデプロイ ✤ アプリケーション管理
  • 14. RoRアプリケーションのコンフィグ設定 ✤ Bundler (Gemfile) ✤ Env (config/environments/production.rb)
  • 15. Bundler $ vim Gemfile : gem 'mysql2' gem 'therubyracer', :platforms => :ruby ✤ MOGOK 環境で必要となる gem を設定
  • 16. Env $ vim config/environments/production.rb : config.serve_static_assets = true : ✤ /public/* 等の static コンテンツを有効化 ✤ (おそらく)あらかじめ false 設定があるので true に変更
  • 17. Flow ✤ Git の導入 ✤ RoR アプリケーションのコンフィグ変更 ✤ MOGOK CLI のインストール ✤ MOGOK へのデプロイ ✤ アプリケーション管理
  • 18. MOGOK CLI のインストール ✤ gem ファイルのダウンロード
  • 19. MOGOK CLI のインストール ✤ gem ファイルのインストール $ gem install mogok-x.x.x.gem $ mogok list $ mogok --help ✤ MOGOK アカウントの "ID/Password" が求められる ✤ 最初の1回のみ
  • 20. Flow ✤ Git の導入 ✤ RoR アプリケーションのコンフィグ変更 ✤ MOGOK CLI のインストール ✤ MOGOK へのデプロイ ✤ アプリケーション管理
  • 21. MOGOKへのデプロイ ✤ アプリケーション登録 ✤ 資材の転送 ✤ アプリケーション構築
  • 22. アプリケーション登録 $ mogok create <app name> ✤ RoR app dir で実行することを強く推奨 ✤ Git remote に MOGOK 環境が登録される ※ MOGOK CLI はこの値を参照しながら動作する(--app option もあるがかなり面倒) ✤ <app name> は MOGOKシステム全体で一意 ✤ <app name>.ruby.iijgio.com
  • 23. 資材の転送 $ git push mogok master ✤ MOGOK アカウントの "ID/Password" が求められる ✤ 毎回入力が必要 tips ✤ "$ git config credential.helper store" しておくと楽 ✤ "~/.git-credentials" に保存されるので扱いには注意
  • 25. Flow ✤ Git の導入 ✤ RoR アプリケーションのコンフィグ変更 ✤ MOGOK CLI のインストール ✤ MOGOK へのデプロイ ✤ アプリケーション管理
  • 26. アプリケーション管理 ✤ MOGOK CLI からの操作 $ mogok info $ mogok start $ mogok stop $ mogok restart
  • 27. アプリケーション管理 ✤ Web UI からの操作
  • 29. まとめ ✤ Ruby on Rails な PaaS ✤ !版だが無料でかなりの機能が使える ✤ Git & mogok コマンドでデプロイ ✤ mogok コマンド or Web UI でコントロール
  • 30. Thank you Tomokazu Kiyohara http://facebook.com/tomokazu.kiyohara http://twitter.com/kiyohara
  • 31. extra
  • 32. tips Bundler ✤ 開発環境とMOGOK環境で依存 gem を分けると便利 ✤ 開発環境に MySQL が入っていないときなど
  • 33. tips Bundler $ vim Gemfile group :mogok do gem 'mysql2' gem 'therubyracer', :platforms => :ruby end ✤ MOGOK 環境向け gem を group 化
  • 34. tips Bundler $ vim .bundle/config : BUNDLE_WITHOUT: mogok ✤ 開発環境では bundle command の対象外に指定
  • 35. tips Env ✤ config/database.yml ✤ 特別に編集する必要なし ✤ MOGOK環境デプロイ時には専用のものが利用される
  • 36. tips build & restart ✤ "$mogok build" したら ✤ "$ mogok restart" →× ✤ "$ mogok stop; mogok start" →○