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

Tomokazu Kiyohara
Tomokazu KiyoharaSoftware Developer at .
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" →○
1 of 36

Recommended

JavaScript で OS X を自動操作 by
JavaScript で OS X を自動操作JavaScript で OS X を自動操作
JavaScript で OS X を自動操作Tomokazu Kiyohara
714 views75 slides
Google Cloud Platform を支える技術 …のごく一部 by
Google Cloud Platform を支える技術 …のごく一部Google Cloud Platform を支える技術 …のごく一部
Google Cloud Platform を支える技術 …のごく一部Tomokazu Kiyohara
1.1K views37 slides
イベント継続のコツ by
イベント継続のコツイベント継続のコツ
イベント継続のコツTomokazu Kiyohara
862 views26 slides
Web API をデバックするときに必要なたったひとつのこと by
Web API をデバックするときに必要なたったひとつのことWeb API をデバックするときに必要なたったひとつのこと
Web API をデバックするときに必要なたったひとつのことTomokazu Kiyohara
1.4K views38 slides
明日から使えるコーディングツール by
明日から使えるコーディングツール明日から使えるコーディングツール
明日から使えるコーディングツールTomokazu Kiyohara
3.3K views79 slides
Atom.io Quick Scripting by
Atom.io Quick ScriptingAtom.io Quick Scripting
Atom.io Quick ScriptingTomokazu Kiyohara
2.3K views23 slides

More Related Content

More from Tomokazu Kiyohara

こわくないプルリク by
こわくないプルリクこわくないプルリク
こわくないプルリクTomokazu Kiyohara
4.7K views51 slides
Github's HUB by
Github's HUBGithub's HUB
Github's HUBTomokazu Kiyohara
5.9K views52 slides
対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介 by
対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介
対サイバー攻撃アラートシステム “DAEDALUS”(ダイダロス)の紹介Tomokazu Kiyohara
1.4K views42 slides
Beginner's Sinatra by
Beginner's SinatraBeginner's Sinatra
Beginner's SinatraTomokazu Kiyohara
2.8K views71 slides
Compact Web - Remind "web compression" - by
Compact Web - Remind "web compression" -Compact Web - Remind "web compression" -
Compact Web - Remind "web compression" -Tomokazu Kiyohara
4.8K views80 slides
Zen coding15min by
Zen coding15minZen coding15min
Zen coding15minTomokazu Kiyohara
837 views31 slides

More from Tomokazu Kiyohara(8)

Recently uploaded

光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
18 views17 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
73 views26 slides
JJUG CCC.pptx by
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptxKanta Sasaki
6 views14 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
71 views29 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
23 views38 slides

Recently uploaded(11)

光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga18 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.71 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka88 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4353 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda376 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...

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" →○