Contents

開発環境の確認

環境は前回と同じく以下の通りです。
・MacBook
・MacOS 10.6
・Macports Version: 2.0.3
・Ruby 1.9.3
・RubyGems 1.8.13
・Ruby on Rails 3.1.3
・MySQL 5.1.60

続いてアプリケーションの情報です。

ディレクトリ:~/Sites/projects
アプリケーション名:r-project
データベース:MySQL

以降はすべて、作業ディレクトリに移動して行います。

# 作業ディレクトリに移動
$ cd ~/Sites/projects/r-project

SSH公開鍵の登録

『mogok』コマンドから MOGOK サービスを利用する場合、SSH公開鍵の登録が必要になります。
以下コマンドで公開鍵一覧を表示します。

# 公開鍵一覧を表示
$ mogok key

初めてCLIから操作する場合はログイン認証が要求されますので、サインアップした際のIDとパスワードを入力してください。

$ mogok key
Login: 【ユーザーID】
Password: 【パスワード】

SSH公開鍵を登録していない場合はこのままコマンドが終了します。
(すでに登録している場合はその一覧が表示されます)

『ssh-keygen』コマンドを入力し、MOGOK サービスで使用するSSH公開鍵と秘密鍵を作成します。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa):
Created directory '/Users/ユーザー名/.ssh'.
Enter passphrase (empty for no passphrase): (SSHログイン用のパスワードを入力)
Enter same passphrase again:(もう一度同じパスワードを入力)
Your identification has been saved in /Users/ユーザー名/.ssh/id_rsa.
Your public key has been saved in /Users/ユーザー名/.ssh/id_rsa.pub.
The key fingerprint is:
1d:cc:af:2d:3c:82:6a:97:6e:c5:af:18:7b:b6:ff:f7 xxx@xxxxx.local

ユーザホームディレクトリ以下にある .ssh ディレクトリ内にSSH公開鍵と秘密鍵が作成されました。

# 公開鍵
/Users/ユーザー名/.ssh/id_rsa.pub
# 秘密鍵
/Users/ユーザー名/.ssh/id_rsa

続いてこのSSH公開鍵を MOGOK サービスに登録します。

# 公開鍵の登録
$ mogok key add ~/.ssh/id_rsa.pub

登録されたか確認します。

# 公開鍵一覧を表示
$ mogok key

先ほどのSSH公開鍵が表示されれば登録は完了です。

MOGOKアプリケーションの作成

CLIからの操作が可能になりましたので、MOGOKサービス上でアプリケーションを作成します。

MOGOK アプリケーションの名前は『r-project』とします。
このアプリケーション名はローカルで作成した Rails アプリケーションの名前と同じでなくても問題ありません。

MOGOK アプリケーションの作成は以下のコマンドを実行します。

$ mogok create r-project
Creating App: r-project
Done!
Git remote mogok added

MOGOK サービス上に「r-project」という名前のアプリケーション情報が登録され、gitリポジトリが生成されます。
同時に、ローカルリポジトリ側に MOGOKサービスの gitサーバ情報が登録されます。
確認するには以下のコマンドを実行します。

$ git remote -v
mogok     git@git.mogok.jp:r-project.git (fetch)
mogok     git@git.mogok.jp:r-project.git (push)

『mogok』という短縮名で登録されています。

(Rails 3.1)プリコンパイルの実行

MOGOK サービス上に push する前に、Rails 3.1 を使用している場合は静的ファイルをプリコンパイルする必要があります。
以下のコマンドを実行し、プリコンパイルしてください。

$ rake1.9 assets:precompile
/opt/local/bin/ruby1.9 /opt/local/bin/rake1.9 assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
Compiled application.js  (3ms)  (pid 1082)
Compiled jquery.js  (2ms)  (pid 1082)
Compiled jquery_ujs.js  (0ms)  (pid 1082)
Compiled tasks.js  (153ms)  (pid 1082)
・・・

続いて変更点をコミットします。

$ git add public/assets
$ git commit -m 'vendor compiled assets'
[master 6febd51] vendor compiled assets
 11 files changed, 44 insertions(+), 0 deletions(-)
 create mode 100644 public/assets/application-00960e5186894b532975562d59176a6a.css
 create mode 100644 public/assets/application-00960e5186894b532975562d59176a6a.css.gz
 create mode 100644 public/assets/application-28647733cd84612bf5e3fa1139aa7f16.js
 create mode 100644 public/assets/application-28647733cd84612bf5e3fa1139aa7f16.js.gz
・・・

これでプリコンパイルの処理が完了しました。

gitサーバにpushする

いよいよローカルで作成したアプリケーションを MOGOK サービス上に push します。
通常の git コマンドを実行します。

$ git push mogok master
Counting objects: 87, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (74/74), done.
Writing objects: 100% (87/87), 29.71 KiB, done.
Total 87 (delta 2), reused 0 (delta 0)
To git@git.mogok.jp:r-project.git
 * [new branch]      master -> master

これで MOGOK サービス上に Rails アプリケーションが転送されました。
次にこのアプリケーションを MOGOK サービス上で起動します。

以下のコマンドを実行し、デプロイを行います。

$ mogok deploy
Info checking..
Git pulling..
Bundler installing..
App deploying..
Gem deploying..
Deploy done..
Done!
http://r-project.ruby.iijgio.com/

この状態ではまだデータベースのマイグレーションは行われていませんので、続いて以下のコマンドを実行します。

$ mogok rake db:migrate
NOTE: Gem::SourceIndex#all_gems is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::SourceIndex#all_gems called from /opt/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/rubygems_integration.rb:256
.
NOTE: Gem::SourceIndex#all_gems is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::SourceIndex#all_gems called from /opt/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/rubygems_integration.rb:256
・・・

これで Railsアプリケーションが MOGOK サービス上に展開されました。
MOGOK コマンドでアプリケーションの情報を参照することができます。
以下コマンドを実行して、確認してみましょう。

$ mogok info
AppName:           r-project
RubyVersion:       1.9.2
Status:            on
DeployStatus:      Done
MaintenanceStatus: off
AppInstancesCount: 1
Repository:        git@git.mogok.jp:r-project.git
URL:               http://r-project.ruby.iijgio.com/

一番最後に表示される URL がアプリケーションのアドレスです。
アプリケーションのアドレス/tasks にアクセスすると、今回作成したアプリケーションが表示されます。

このように表示されれば MOGOK アプリケーションの作成は完了です。

最終回は少し長くなってしまいましたが、以上で Rails アプリケーションの作成から MOGOK サービス上での公開が完了しました。

使用してみた感想は、非常に簡単だと思いました。
なんのトラブルもなくアプリケーションの公開までたどり着きました。
日本語の情報やドキュメント、サポートがありますので、安心して始められるのではないでしょうか。

MOGOK は2012年春に正式公開予定です。

関係者の皆様、このたびはありがとうございました。

Comments are closed.