2015年11月3日火曜日

Cloud9 で Rails を動作させてみる

ローカル環境でアプリケーションを構築して、gitにコミットしてクラウドにデプロイという流れとは別にクラウド上でアプリケーションを構築して、gitにpushしたり、任意のクラウドにデプロイという開発の流れもあります。
いちばんのメリットは個々の環境に開発環境を作らなくても済むという点です。
つまりブラウザさえあればモノが作れてしまうというわけです。

そういうわけで、今回は Cloud9 という開発用のクラウドサービスを試してみようと思います。

まずは、どんな機能を持っているのか? をまとめます。

1)開発に関連する環境がすでに揃っている(ruby, php, node.js, java C++ ...)
2)フレームワークもインストール済みなので、そのまま使用できる(Rails, httpd など)
3)Ubuntu環境なので、ターミナル操作をそのまま実行可能
4)データベースも用意されている(MySQL, Postgres, Redis, MongoDB など)
5)サンプルやデモとして簡単にアプリケーションをインターネットに公開できる
6)メンバーとのリアルタイム編集
7)エディタ環境は、Vim, Emacs, Sublime から好みのものを選択できる
8)Chrome, Firefox, safari など、クロスブラウザチェックが可能

次に、無料の範囲でどこまでスペックを活用できるのか? もついでにまとめます。

1)1GBのディスク容量
2)512Mのメモリ
3)ひとつまでのプライベート環境インスタンス

さて、Cloud9のアカウントを作成するか、GitHub、Bitbucketのアカウントがあれば、そのままログインできます。























ログインしたら、まずはワークスペースを作成しますが、Workspace name の入力欄に任意の名前をつけて入力します。この部分がのちほどURLのドメインの部分に付与されます。
Workspece Privacyは、公開したければ public で設定します。

今回は、Ruby on Rails のプラットホームでアプリケーションを構築してみようと思います。
プラットホームのアイコンから Ruby on Rails を選択して Createボタンを押して、しばらく待ちます。
すると IDEが起動します。
左のペインにワークスペースのディレクトリツリーが、右ペイン上部には選択したファイル、下部にターミナルが表示されています。Visual Studio や eclipse を使い慣れた方ならば直観的に操作できると思います。

まずは、左のペインのワークスペースのディレクトリツリーから Gemfile を開きます。
とくに今回は編集しませんが、gem 'sqlite3' という部分があります。データベースは、そのままsqlite3でいこうと思います。

さて、さっそくbashターミナルでコマンドを実行します。
右側のペイン下部です。

$ bundle update
$ bundle install

必要なgemパッケージをインストール完了しました。
つづいて、Scaffoldでテンプレートを作成します。

$ rails generate scaffold User name:string email:string
      invoke  active_record
      create    db/migrate/20151103062340_create_users.rb
      create    app/models/user.rb
      invoke    test_unit
      create      test/models/user_test.rb
      create      test/fixtures/users.yml
      invoke  resource_route
       route    resources :users
      invoke  scaffold_controller
      create    app/controllers/users_controller.rb
      invoke    erb
      create      app/views/users
      create      app/views/users/index.html.erb
      create      app/views/users/edit.html.erb
      create      app/views/users/show.html.erb
      create      app/views/users/new.html.erb
      create      app/views/users/_form.html.erb
      invoke    test_unit
      create      test/controllers/users_controller_test.rb
      invoke    helper
      create      app/helpers/users_helper.rb
      invoke      test_unit
      invoke    jbuilder
      create      app/views/users/index.json.jbuilder
      create      app/views/users/show.json.jbuilder
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/users.coffee
      invoke    scss
      create      app/assets/stylesheets/users.scss
      invoke  scss
      create    app/assets/stylesheets/scaffolds.scss

そしてマイグレーションです。

$ bundle exec rake db:migrate
== 20151103062340 CreateUsers: migrating ======================================
-- create_table(:users)
   -> 0.0023s
== 20151103062340 CreateUsers: migrated (0.0025s) =============================

これで完了です。
実行の Run ボタンを押すと、クラウド上でアプリケーションが構築されます。データベースは c9 インスタンスが生成されます。
ブラウザで、https://ワークスペース名-ユーザ名.c9.io/users にアクセスすると、おなじみのRailsのチュートリアル画面を生成します。



















個々のPCに開発環境を作るのは、意外と大変です。
たとえば、vagrantなどで合理化しても、それなりに学習コストがかかりますが、今回の Cloud9 であれば、直観的にプラットホームを作成して、コーディングに専念できるという点がアドバンテージだと思います。
興味のある方は、ぜひ試してみてください。

0 件のコメント :

コメントを投稿