New-Village

月間ブログ。だいたい1カ月に1回は更新しているようです。

Goodby Cloud9, Hello Nitrous.IO

Cloud9にはさんざんお世話になったんだけれども、最近、1コマンド実行するたびにターミナルがフリーズするので、乗り換えを検討してみた。

といっても以下の要件を満たすCloud IDEは、Nitrous.IOしか無かったので、消去法的に移住を検討してみた。

  • Railsが使える
  • Githubと連携できる(gitコマンドが使える)
  • Herokuにdeployできる
  • rspecが実行できる(ターミナルが使える)

同サービス自体は前から使ってみてはいたんだけど、Cloud9に比べて、インターフェースがちゃちいので真面目に検討してこなかった。

ログイン

Github, Google, LinkedInのアカウントが使えます。わたしは、Githubのアカウントを使ってみました。

無料でできる事

サインインすると、N2Oというサービスポイントを155ポイントもらえます。このポイントは、購入する事もできるし、GoogleFacebookのアカウントをNirtousに晒す事で、さらに貰う事ができます。

ワークスペース(プロジェクト)を1つたてるのに、最低、140ポイント消費します。140ポイントで、384MBのメモリと1000MBのストレージが貰えます。

Githubとの連携

デフォルトで、gitが使えます。設定方法は以下の手順。

  1. ログインしてBoxを作成してから、Boxes > Boxname > Reveal Public Key をクリックするとSSHの暗号鍵が貰えます。そのまま、Add to Githubをクリックすれば、Githubssh keysに追加されます。
  2. ターミナルのカレントディレクトリを $~/workspace/appnameに移動する。
  3. git remote add origin URL でリモートレポジトリを登録します。
  4. git pull origin でソースコードを取得します。

トラブル:コネクション・タイムアウト

bundle installしていたら、途中でターミナルがConnection Timeoutになった。すぐに再接続されたので、bundle updateをしたら無事にインストールが完了した。

トラブル:git commitできない

git commitしたら、以下のエラーコマンドが出てコミットできなかった。

$ git commit -m "initial commit"

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

to set your account's default identity.

Omit --global to set the identity only in this repository. 

fatal: empty ident name (for <xxx@xxx.(none)>) not allowed 

ターミナルに出ている通り、"git config"を実行したら無事にコミットできた。

トラブル:どこにアプリを作るの??

気づかずにroot($~)にpullしたために、rootをpushしたら、git repositoryがめちゃくちゃになってしまった…。NitrousのIDEは、Cloud9と違って、アプリケーションのディレクトリ以外も表示されているようだ。

どうにも手に負えなくなってしまったので、一度IDEを削除して、再作成。railsのアプリケーションを作成し直した。

トラブル:bundle installできない

なんでか、bundle installしようとすると以下のエラーが出て動かない。エラーの指示通り、"bundle update"を実行したら問題なくセットアップされた。

$ bundle install

Fetching gem metadata from https://rubygems.org/.........

Fetching gem metadata from https://rubygems.org/..

Resolving dependencies... 

Bundler could not find compatible versions for gem "activesupport": 

In snapshot (Gemfile.lock):

 activesupport (4.0.0)

In Gemfile:

 rails (= 4.0.2) ruby depends on

 activesupport (= 4.0.2) ruby

Running `bundle update` will rebuild your snapshot from scratch, using only the gems in your Gemfile, which may resolve the conflict. 

雑感

パフォーマンス的には、Cloud9よりも全然安定しているように思える。また、Nitrous.IOは課金すればパフォーマンスを上げる事も可能なので、しばらくこちらのサービスを使っていきたいと思う。