RubyMine 2019.2ヘルプ

リモートインタープリターとしてのDocker Composeの使用

RubyMineはあなたのマシンで動くDockerを扱うためのさまざまな機能を提供します。Dockerのトピックでさらに学ぶことができます。

このチュートリアルでは、Docker ComposeをサンプルRailsアプリケーション(英語)の リモートインタープリターとして使用する方法について説明します。このアプリケーションは、データベースバックエンドとWebフロントエンドで構成されています。2つの個別のサービスを使用して実行するようにアプリケーションを構成し、デバッグ機能を試します。

Dockerをインストールしてサンプルアプリケーションを開く

このチュートリアルでは、MacとmacOSを使用し、RubyMineをインストールします。さらに、すべての手順を完了するには、以下の前提条件を満たす必要があります。

  • Dockerがインストールされ実行されていることを確認してください。

  • Ruby DockerDockerの統合プラグインが有効になっていることを確認してください。

  • RubyMineで次のRailsアプリケーションを開く

    https://rubyminedoc@bitbucket.org/rubyminedoc/sample_rails_app_docker.git

Composeでアプリケーションをビルドして実行する

この章では、フロントエンド用のwebデータベース用のdbの 2つのサービスでアプリケーションを実行します。これを行うには、database.yml ファイルでデータベース設定を再構成する必要があります。その後、docker-compose upを実行することができます。以下の手順を実行してください。

  1. config/database.yml ファイルに移動し、Ctrl+/ に次のコードをコメントします。

    development: <<: *default adapter: sqlite3 database: db/development.sqlite3
  2. 開発環境用にPostgresデータベースを使用して構成する部分の Ctrl+/ のコメントを外します。

    development: <<: *default adapter: postgresql encoding: unicode host: db username: postgres password: database: sample_rails_app_db
  3. docker-compose.yml ファイルを開きます。次のコマンドは、Webサービスを実行し続けるために使用されることに注意してください。

    web: # command: tail -f /dev/null

    RubyMineは docker-compose exec コマンドを内部で使用してリモートインタープリターとしてDocker Composeを追加するため、Webサービスを実行する必要があります。

  4. ガターの中の docker-compose up をクリックして、Docker Composeがイメージをプルしたり作ったりしてコンテナーを起動するまで待ちます。

    Docker tool window: Compose

    あるいは、RubyMineターミナルdocker-compose up コマンドを実行することもできます。

リモートインタープリターとしてComposeを設定する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sを開き、言語 & フレームワーク | Ruby SDK および Gemページに移動します。

  2. the Add button をクリックし、新規リモート...を選択します。

    New remote interpreter
  3. 呼び出されたダイアログで、Docker Composeを選択し、次のオプションを指定します。

    Configure remote Ruby interpreter: Docker Compose
    • サーバー - このオプションは、コンテナーを実行するために使用されるDockerサーバーを指定します。

    • 構成ファイル - docker-compose.yml ファイルをそのままにしてください。

    • サービス - Webサービスを選択します。

    • Rubyまたはバージョンマネージャーのパス - Rubyインタープリターへのパスを自動的に検出するには、デフォルトの ruby 値をそのままにします。インタープリターまたはバージョンマネージャーの実行可能ファイルへのパスを手動で指定することもできます。

  4. Ruby SDK および Gemページで追加されたSDKを選択してOKをクリックしてください。

    Ruby SDK and Gems: Docker Compose
  5. RubyMineがインデックス作成プロセスを終了し、ヘルパーDockerイメージとコンテナーを作成するまで待ちます。

    Docker tool window: Helpers

データベースを作成して移行を実行する

Railsアプリケーションをデバッグする前に、データベースを作成して移行を実行する必要があります。

  1. Ctrl を2回押して、db:作成と入力します。ドロップダウンで rake db:create を選択して Enterを押します。呼び出された'db:create'を実行してください。ダイアログのデフォルト設定をそのままにして、OKをクリックします。

  2. 最後に、データベースを移行するには、Ctrl を2回押してdb:migrateと入力し、ドロップダウンで db:migrate を選択して Enterを押します。呼び出されたダイアログでOKをクリックします。

デバッグ用gemsをインストールしてブレークポイントを設定する

Docker Composeを使ってアプリケーションをデバッグするには、リモートインタープリターにデバッグ用gemsをインストールする必要があります。

  1. Gemfileを開き、次のコード行の Ctrl+/ のコメントを外します。

    gem 'debase' gem 'ruby-debug-ide'
  2. キャレットをこれらのgemsのいずれかに置き、Alt+Enterを押します。ポップアップで、実行 'docker-compose build'を選択し、Enter を押し、RubyMineがこれらのgemsをインストールするまで待ちます。

  3. users_controller.rb ファイルを開き、createメソッド内で新しいユーザーが作成された行の横にブレークポイントを設定します。

    Set a breakpoint

実行/デバッグ構成設定を作成する

デバッグセッションを実行する前に、Docker Composeに関連するスタートアップ設定を調べましょう。

  1. Ctrl+Shift+A を押して、編集設定の入力を始めます。構成の編集を選択して Enterを押します。

    Find Action
  2. 呼び出された実行/デバッグ構成ダイアログで、Railsノードの開発設定を選択します。

    Run/Debug Configurations dialog

    docker-composeグループには、Railsアプリケーションを実行/デバッグするための以下のオプションがあります。

    • docker-compose exec - RubyMineは既に実行中のコンテナーでコマンドを実行します。

    • docker-compose up - RubyMineは、追加設定を使用してリモートインタープリターとして使用されるサービスを開始します(たとえば、デバッガに必要な追加ポートを公開します)。これはデバッグセッションを開始するのに推奨される方法です。

    • docker-compose run - RubyMineは新しいコンテナーでコマンドを実行します。

    デフォルトのdocker-compose upのままにして、OKをクリックします。

デバッグを開始する

これでアプリケーションをデバッグする準備が整いました。

  1. Debug Shift+F9 をクリックして、デバッグを開始します。呼び出されたダイアログで、パッチプロジェクトの設定を選択します。

  2. ブラウザを開き、アプリケーションアドレス 0.0.0.0:3000を指定します。

    Rails application in a browser
  3. 今すぐサインアップ!ボタンをクリックします。サイン・アップページで、必要なユーザパラメータを入力し、アカウントを作るをクリックします。

    Sign up page
  4. デバッガはブレークポイントでセッションを一時停止し、アプリケーションの状態を調べることができます。

    Debugging an application

    たとえば、サイン・アップページで指定されたユーザパラメータを確認できます。

最終更新日: 2019年9月5日

関連ページ:

Docker

以下は、Docker統合およびRuby Dockerプラグインがインストールされて有効になっている場合にのみ有効です。Dockerを使用すると、開発者は本番環境と同じ環境でコードをテストするためにコンテナー内にアプリケーションをデプロイできます。RubyMineはDockerプラグインを使用してDo...

プロジェクトを作成

空のプロジェクトを作成する:ようこそ画面の新規プロジェクトの作成をクリックするか、メインメニューからを選択してください。表示されたダイアログで、左側のペインで空のプロジェクトを選択します。次に、以下の設定を指定します。ロケーション- プロジェクトの場所と名前を指定します(私たちの場合はruby-he...

ターミナルエミュレータ

RubyMineには、IDE内部からシステムのコマンドラインシェルを操作するための組み込みターミナルエミュレータが含まれています。最初はデフォルトのシステムシェルで動作し、Windows PowerShell、Command Prompt,,,,などをサポートしています。ターミナルツールウィンドウを...

Rubyバージョンマネージャー

RubyMineを使用すると、次のバージョンマネージャーが管理するRubyインタープリターを使用できます。サポートされているすべてのバージョンマネージャーは互換性がないため、同時に使用しないでください。RVM、rbenv、chruby、asdf-rubyプラグインを使用したasdf、すべてのバージョ...

Rake

RubyMineはRakeタスクを実行、リロード、作成する便利な方法を提供します。IDEは次のタスクを自動的に検出します。Railsに付属の定義済みタスク、プロジェクトルートに配置されたRakefileで定義されたタスク、lib/tasksプロジェクトディレクトリーに配置されたタスク、Rake タス...

RubyMineでのRails / Springサポート

Springは、アプリケーションをバックグラウンドで実行し続けることによって開発をスピードアップするRailsアプリケーションプリローダーです。つまり、変更を加えたときにサーバーを再起動する必要はありません。RubyMineでは、Springを使用してRailsジェネレーター、テスト、およびRake...