デプロイ構成を使用してアプリをデプロイする
RubyMine は、デプロイ構成を使用してアプリケーションをリモートサーバーにデプロイする機能を提供します。このトピックでは、リモートデプロイサーバーを設定し、IDE から直接ファイルシステムを参照し、Web アプリケーションをこのサーバーにアップロードする方法を示します。
前提条件
アプリケーションをリモートサーバーにデプロイする前に:
サーバー上の SSH アクセスを有効にする
サーバーにアクセスするための IDE 設定に SSH 構成を追加する
デプロイサーバーを構成する
デプロイサーバーは次のように構成できます。
設定 Ctrl+Alt+S を開き、ページに移動します。
をクリックして、ファイル転送プロトコル(SFTP など)を選択します。
新規サーバーの作成ダイアログで、構成名を指定して OK をクリックします。
接続タブで次の設定を指定します。

このプロジェクトでのみ表示する : プロジェクト間で構成を共有したくない場合は、このオプションを有効にします。
タイプ : サーバーへのアクセス方法を指定します。
SSH 構成 : サーバーへのアクセスに使用する既存の SSH 構成を選択するか、省略ボタンをクリックして新しいものを追加します。
ルートパス : デフォルトの / パスのままにして、サーバーのルートフォルダーをポイントします。
Web サーバーの URL : ルート URL アドレスを指定します。
マッピングタブに切り替えて、アプリケーションをデプロイする場所を指定します。

ローカルパス : /Users/jetbrains/RubymineProjects/sample_rails_app などのローカルマシン上のプロジェクトルートへのパスを指定します。
デプロイメントパス : サーバー上のデプロイフォルダーを指定します。この例では、/home/deploy/sample_rails_app になります。
(オプション)除外対象パスタブで、アップロード / ダウンロードに関与させたくないローカルおよびリモートフォルダーのリストを設定できます。
リモートホストを参照
デプロイサーバーを構成したら、IDE からそのファイルシステムを参照できます。
メインメニューからを選択します。
呼び出されたリモートホストツールウィンドウで、次のようなさまざまなアクションを実行できます。

リモートサーバーとローカルマシンの間でファイルをドラッグします(リモートホストおよびプロジェクト Alt+1 ツールウィンドウを使用)。
ファイルとディレクトリを作成および削除します。
ローカルおよびリモートプロジェクトの比較して同期ファイル。
アプリをサーバーにアップロードする
デプロイサーバーを構成したら、プロジェクトをこのサーバーにアップロードできます。
プロジェクトビュー Alt+1 で、ルートプロジェクトディレクトリを右クリックし、を選択します。
RubyMine がプロジェクトファイルをリモートホストにコピーするまで待ちます。デプロイのステータスは、ファイル転送ツールウィンドウ()で確認できます。

ローカルプロジェクトとリモートプロジェクト間の変更の同期の詳細については、「変更を同期」を参照してください。
変更を同期
ローカルプロジェクトに変更を加えたら、新しいファイルをリモートサーバーにアップロードする必要があります。RubyMine を使用すると、ローカルファイルとリモートファイル / ディレクトリを比較したり、変更を手動で同期したり、自動アップロードを有効にしたりできます。
変更を手動で同期する
プロジェクトビュー Alt+1 で、同期に必要なファイルまたはディレクトリを選択します。例: プロジェクト全体を同期する場合は、プロジェクトルートを選択します。
に移動します。
呼び出されたダイアログで、個々のファイルを選択し、それらのローカルバージョンとリモートバージョンを比較できます。

ボタン Enter を使用して、選択したファイルの変更をアップロードします。
Ctrl+Enter を使用すると、すべてのファイルを一度にアップロードできます。
自動アップロードを有効にする
デフォルトのアップロードサーバーを指定します。を開き、目的のサーバーを選択して、
をクリックします。
ページに移動し、変更されたファイルのデフォルトサーバーへの自動アップロードオプションを常時または明示的な保存操作時に設定します。
外部変更のアップロードを無効にする
デフォルトでは、VCS ブランチの変更、SASS または LESS のコンパイル、File Watcher などの外部プロセスによってファイルが変更された場合、RubyMine もファイルをアップロードします。この動作を変更するには:
設定を開き、ページに移動します。
変更されたファイルをデフォルトサーバーにアップロードするを常時に設定し、外部変更をスキップするオプションを有効にします。
デプロイオプションを設定する
デプロイオプションを構成するには、設定 Ctrl+Alt+S を開き、ページに移動します。このページを使用して、ローカルサーバーおよびリモートサーバーとの間でプロジェクトファイルをアップロードおよびダウンロードするための追加の構成設定を指定します。
オプション
項目 | 説明 |
|---|---|
項目を名前で除外 | このフィールドでは、デプロイする必要のないファイルとフォルダーの名前のパターンを指定します。 セミコロン 例: 3 つのファイル style.css、style1.css、style2.scss を持つフォルダー stylesheets がある場合、 正規表現 .info(英語) の詳細を参照してください。 除外は再帰的に適用されます。つまり、一致するフォルダーにサブフォルダーがある場合、これらのサブフォルダーの内容はデプロイされません。 |
操作ログ | このリストを使用して、必要な詳細ログ量を指定します。使用可能なオプションは次のとおりです。
|
最新のファイルを上書きする | このチェックボックスを選択すると、前回のアップロード以降に変更されているかどうかに関係なく、すべてのファイルがアップロードされます。 それ以外の場合、このチェックボックスをオフにすると、前回のアップロード以降に変更されたファイルのみがアップロードされます。 |
アップロード中に一時ファイルを使用する | サーバーにアップロードされる変更されたファイルに一時的な名前を使用し、アップロード操作が正常に完了した後にのみ名前を元に戻すには、このチェックボックスをオンにします。 |
ファイルのタイムスタンプを保持する | アップロード時にファイルのタイムスタンプをリセットしないようにするには、このチェックボックスを選択します。 |
ソース項目が存在しないターゲット項目を削除する (プロジェクトビューまたはリモートホストビューから転送する場合) | このチェックボックスをオンにすると、この名前のファイルが現在のアップロードに含まれていない場合、コピー先のディレクトリ内のファイルはすべて削除されます。 このオプションは、プロジェクトツールウィンドウまたはリモートホストツールウィンドウから同期を実行する場合に適用されます。 |
空のディレクトリを作成する | 元のフォルダーに最後にアップロードした後にプロジェクトに新しいローカルディレクトリが作成された場合、このチェックボックスをオンにすると、サーバー上の空のディレクトリが自動的に作成されます。 |
ローカル項目を上書きまたは削除するときに確認メッセージを表示する | ダウンロード中に同期するためにローカルアイテムを上書きまたは削除する前に、RubyMine に確認を求めるプロンプトを表示するには、このチェックボックスを選択します。 |
ファイルのアップロードを確認 | ローカルアイテムをリモートホストにアップロードする前に、RubyMine に確認を求めるプロンプトを表示するには、このチェックボックスを選択します。 |
変更されたファイルのデフォルトサーバーへの自動アップロード | このリストから、RubyMine がデフォルトのサーバーまたはサーバーグループにファイルを自動的にアップロードするかどうかを選択します。使用可能なオプションは次のとおりです。
デフォルトのサーバー構成またはサーバーグループは、デプロイページでリスト内の目的の項目を選択し、デフォルトとして使用ツールバーボタン |
外部変更をスキップする | このチェックボックスを選択すると、サードパーティのツール(VCS、スクリプトなど)を使用して行われたローカル変更を自動アップロードから除外します。 このチェックボックスは、変更されたファイルのデフォルトサーバーへの自動アップロードリストで常時または明示的な保存操作時オプションが選択されている場合にのみ使用できます。 |
ローカルファイルが削除されたときにリモートファイルを削除する | ローカルファイルが削除された場合に、RubyMine が自動アップロード中にリモートファイルを自動的に削除するようにするには、このチェックボックスを選択します。このチェックボックスは、変更されたファイルのデフォルトサーバーへの自動アップロードリストで常時または明示的な保存操作時オプションが選択されている場合にのみ使用できます。 このオプションは追加の安全対策として機能し、リモートサーバーに不要なファイルが残る可能性があることに注意してください。例として、名前が RENAMED.md に変更されたローカルファイル FILE.md を考えます。ファイルの名前を変更しても、技術的にはファイルの削除や新しいファイルの作成と区別がつかないため、自動アップロード後に次のことが起こります。
|
元のファイル権限を保持する | 有効にすると、RubyMine は、FTP/FTPS を介してリモートホストにファイルをアップロードするときに、元のローカルファイルのアクセス許可を保持します。 このオプションは、macOS および Linux でのみ使用できます。 |
ファイルのデフォルト権限を上書き: | このチェックボックスを選択して、リモートホスト上のアップロードされたファイルに割り当てられたデフォルトの許可を変更します。参照 |
フォルダーのデフォルト権限を上書き | このチェックボックスを選択して、リモートホスト上のアップロードされたフォルダーに割り当てられたデフォルトの許可を変更します。参照 |
より新しいファイルをアップロードする際に警告する | このリストを使用して、リモートホストにファイルをアップロードするときに適用するバージョン管理ポリシーを定義します。この選択に応じて、RubyMine はリモートホスト上の対応するファイルに変更が加えられたかどうかをチェックします。これは、リモートファイルをダウンロードしたか、リモートファイルを上書きしただけです。
|
リモート変更を通知する | リモートホストでの変更に関する通知を受信するには、このチェックボックスを選択します。このチェックボックスは、より新しいファイルをアップロードする際に警告するリストでタイムスタンプとサイズを比較するまたは内容の比較オプションが選択されている場合にのみ使用できます。 |
関連ページ:
SSH
RubyMine を使用すると、SSH を使用してリモートマシンを操作できます。事前定義された SSH 構成を作成し、それを使用してリモート SSH セッションを実行したり、リモート Ruby インタープリターを構成したり、データベースに接続したりできます。SSH をセットアップする:SSH を使用してリモートマシンで作業する前に、リモートサーバーで SSH アクセスが有効になっていることを確認してください。いくつかの認証方法を使用できます。例: 認証にリモートホストのユーザー名とパスワードを使...
Git ブランチの管理
Git では、ブランチは、たとえば機能の作業が必要な場合や、リリースのためにコードベースの特定の状態を固定する必要がある場合などに、メインの開発ラインから分岐できるようにする強力なメカニズムです。RubyMine では、ブランチに関するすべての操作は VCS ウィジェットで行われます。これを呼び出すには、メインウィンドウのヘッダーで、現在チェックアウトされているブランチの名前が付いたウィジェットをクリックします。Git ツールウィンドウのブランチペインで、ブランチを管理し、複数のブランチでバッチ操...
Sass、SCSS、Less、PostCSS
RubyMine は、Sass、Less、SCSS コードを CSS に変換するコンパイラーと統合します。RubyMine でコンパイラーを使用するには、関連する事前定義済みテンプレートに基づいて、File Watcher としてコンパイラーを構成する必要があります。始める前に:お使いのコンピューターに Node.js がインストールされていることを確認してください。JetBrains マーケットプレイスからプラグインをインストールする説明に従って、設定 | プラグインページのマーケットプレースタブに Fi...
File Watchers
File Watcher は、IDE でファイルを変更または保存するときに、コンパイラー、フォーマッタ、リンターなどのコマンドラインツールを自動的に実行できる RubyMine ツールです。File Watchers には 2 つの専用コードインスペクションがあります。ファイル監視使用可能インスペクションは、定義済みの File Watcher が適用可能なすべてのファイルで実行されます。プロジェクトに関連する File Watcher が設定されていない場合、RubyMine は追加することを提...
プロジェクトツールウィンドウ
プロジェクトツールウィンドウを使用すると、さまざまな視点からプロジェクトを確認したり、新しいアイテム(ディレクトリ、ファイル、クラスなど)の作成、エディターでのファイルのオープン、必要なコード断片への移動など、さまざまなタスクを実行したりできます。このツールウィンドウのほとんどの機能には、コンテンツペインのコンテキストメニューコマンドとして、関連するショートカットを介してアクセスします。このビューには、作成されたスクラッチファイル、クエリコンソール、拡張スクリプトを管理できるスクラッチとコンソー...
チュートリアル: Kamal を使用して Rails アプリをデプロイする
Kamal は、コンテナー化された Rails アプリケーション用のデプロイツールです。Capistrano のように SSH 経由でタスクを実行する代わりに、Kamal はアプリケーションの Docker イメージを構築し、レジストリにプッシュして、軽量コンテナー内でサーバー上で実行します。RubyMine では、内蔵ターミナルから直接、またはを使用して Kamal コマンドを実行できます。これにより、IDE を移動することなく、デプロイのトリガー、環境の管理、ログの監視が容易になります。このチ...