普通のRailsエンジニアが【intelliJ】やってみた。
-
Upload
yoichi-toyota -
Category
Engineering
-
view
378 -
download
2
description
Transcript of 普通のRailsエンジニアが【intelliJ】やってみた。
普通のRailsエンジニアが
【IntelliJ】やってみた。
株式会社エクストーン 豊田陽一
今日のお話
IntelliJ + Ruby PluginでRails開発環境を作る
Rails開発環境のよくある悩み
手元に開発環境が作れないRubyのインストール面倒
Railsのインストール面倒
RDBMSのインストール面倒
gemのビルドが面倒…というか動かない…etc...
結局Linuxサーバ上でemacs or vim開発に
IntelliJでRails開発
なんとかIDE使いたい● コード補完● 静的解析● ステップ実行● etc…
リモートインタプリタ
プロジェクトのコードをリモートホストのインタプリタで実行する機能
開発:ローカルのIntelliJ IDEA実行:リモートのLinuxサーバー
環境構築手順
リモート: Ruby, Railsのインストール
リモート: Railsプロジェクトの作成
ローカル: Deployment先にリモートホストを登録
ローカル: SDKとしてリモートインタプリタを登録
ローカル: プロジェクト作成と転送設定
ローカル: リモートのRailsプロジェクトと同期
Ruby, Railsのインストール
RubyインストールRVMなりrbenvなりで好きなように
Railsインストール現時点でRails4以上の動作を確認
既にRailsが動作するリモート環境があるならそのまま利用できるので、この作業は飛ばして大丈夫
リモートでプロジェクト作成
実際に動作する開発環境この時点でとりあえずサーバーが動くようにすると楽
既に動作する環境があるならここもスキップ
例) 一から作る場合$ rails new project_name --skip-bundle$ cd project_name$ bundle install --path=vendor/bundler
IntelliJの設定
以下の環境を想定Windows7
メニューの階層等がmac版やlinux版と異なる部分がある
適宜読み替えていただければおそらく対応可能
IntelliJ 13.1.5Ruby Plugin
動作確認はしていないが、おそらくRubyMineでも可能
Deploymentの設定
[File] > [Other Settings] > [Default Settings...] > [Deployment]
SFTPを選択
接続先のIPもしくはFQDN
困ったらAutodetect押しとくといい
ssh認証を行うユーザー情報を入力
password認証と鍵認証を選択
リモートインタプリタの設定(1)[File] > [Other Settings] > [Default Project Structure] > [SDKs]
[+] を押して、[Ruby SDK] > [New Remote SDK…]を選択
リモートインタプリタの設定(2)[Fill from deployment server settings]を押すと、Deploymentの設定を引っ張ってこれる
リモートホストの rubyインタプリタのパスを指定(リモートでwhich rubyとか叩いて、フルパスを取得しよう )
接続設定基本的にはFill from... で自動入力されるままで大丈夫
プロジェクト作成(1)[File] > [New Project] > [Ruby on Rails]
先ほど作成したRemote SDKを選択
プロジェクト作成(2)プロジェクト名やローカルの作業ディレクトリを設定
リモートと同期
(プロジェクトを右クリック) > [Deployment] > [Download from …]
Railsサーバーの起動(1)[Run] > [Edit Configuration] > [Rails] > [Development: …]
リモートサーバの IP
Railsを動作させたいポート番号
Railsサーバーの起動(2)[Run] > [Edit Configuration] > [Rails] > [Development: …]
[Builder]タブのRun the script in context of the bundleにチェック
Railsサーバーの起動(3)動いた!
まとめ
開発は手元開発で便利な機能はIntelliJで
コード補完
静的解析
テスト実行
etc…
実行はサーバーで既に動いている実行環境がそのまま使える