使用部署配置部署应用
RubyMine 提供了使用 部署配置将应用程序部署到远程服务器的功能。 在本主题中,我们将向您展示如何设置远程部署服务器、直接从 IDE 浏览其文件系统,以及将您的 Web 应用程序上传到该服务器。
先决条件
在将您的应用程序部署到远程服务器之前:
配置部署服务器
您可以按以下步骤配置部署服务器:
打开 设置 Ctrl+Alt+S 并转到 页面。
单击
并选择文件传输协议,例如 SFTP。
在 创建新服务器 对话框中,指定配置名称并单击 确定。
在 连接 选项卡中指定以下设置:

仅对该项目可见 :启用此选项,如果您不希望在项目之间共享配置。
Type :指定访问服务器的方式。
SSH 配置 :选择用于访问服务器的现有 SSH 配置 ,或单击省略号按钮添加新配置。
根路径 :保留默认 / 路径以指向服务器上的根文件夹。
Web 服务器 URL :指定根 URL 地址。
切换到 映射 选项卡以指定部署应用程序的位置:

本地路径 :指定本地机器上项目根目录的路径,例如 /Users/jetbrains/RubymineProjects/sample_rails_app 。
部署路径 :指定服务器上的部署文件夹。 在我们的示例中,它将是 /home/deploy/sample_rails_app 。
(可选)在 排除路径 选项卡中,您可以配置不希望参与上传/下载的本地和远程文件夹列表。
浏览远程主机
配置好 部署服务器后,您可以直接从 IDE 浏览其文件系统:
从主菜单中选择 。
在调用的 远程主机 工具窗口中,您可以执行各种操作,例如:

在远程服务器和本地机器之间拖动文件(通过使用 远程主机 和 Project Alt+1 工具窗口)。
创建和删除文件和目录。
比较和同步本地和远程项目的文件。
将您的应用上传到服务器
配置好 部署服务器后,您可以将项目上传到该服务器:
在项目视图 Alt+1 中,右键单击根项目目录并选择 。
等待 RubyMine 将项目文件复制到远程主机。 您可以在 文件传输 工具窗口( )中查看部署状态。

有关本地和远程项目之间同步更改的更多信息,请参阅 同步更改。
同步更改
在本地项目中进行更改后,您需要将新文件上传到远程服务器。 RubyMine 允许您比较本地和远程文件/目录,手动同步更改,或启用自动上传。
手动同步更改
在项目视图 Alt+1 中,选择需要同步的文件或目录。 例如,如果您想同步整个项目,请选择项目根目录。
请前往 。
在调用的对话框中,您可以选择单个文件并比较其本地和远程版本。

使用
按钮 Enter 上传所选文件的更改。
Ctrl+Enter 允许您一次上传所有文件。
启用自动上传
指定默认上传服务器。 打开 ,选择所需的服务器,然后单击
。
转到 页面,并将 自动将更改的文件上传到默认服务器 选项设置为 始终 或 在显式保存操作时。
禁用上传外部更改
默认情况下,RubyMine 还会在某些外部进程(如 VCS 分支更改、 SASS 或 LESS 编译或 File Watcher )更改文件时上传这些文件。 要更改此行为:
打开 设置 并转到 页面。
将 将已更改的文件上传至默认服务器 设置为 始终 ,并启用 跳过外部更改 选项。
配置部署选项
要配置部署选项,请打开 设置 Ctrl+Alt+S 并转到 页面。 使用此页面来指定上传和下载项目文件到本地和远程服务器的附加配置设置。
选项
项目 | 描述 |
|---|---|
通过名称排除项 | 在此字段中,指定您不需要部署的文件和文件夹名称的模式。 使用分号 例如,如果您有一个文件夹 样式表 包含三个文件 style.css 、 style1.css 和 style2.scss ,那么 了解更多信息,请访问 Regular-Expressions.info。 排除是递归应用的。 这意味着,如果匹配的文件夹有子文件夹,这些子文件夹的内容也不会被部署。 |
操作记录(O) | 使用此列表指定您需要多少详细的日志记录。 可用选项包括:
|
覆盖最新文件(W) | 如果选中此复选框,则所有文件都会被上传,无论它们自上次上传以来是否已更改。 否则,如果未选中此复选框,则只会上传自上次上传以来更改的文件。 |
在上传期间使用临时文件 | 选中此复选框以便为正在上传到服务器的已更改文件使用临时名称,并且仅在上传操作成功完成后才将其重命名回来。 |
&保留文件时间戳 | 选中此复选框以防止在上传文件时重置时间戳。 |
当源项不存在时删除目标项(从“项目”视图或“远程主机”视图传输时)(D) | 如果选中此复选框,目标目录中的任何文件都会被删除,只要该文件未在当前上传中涉及。 此选项适用于从 Project 工具窗口或 Remote Host 工具窗口执行同步时。 |
创建空目录(C) | 选中此复选框,如果自上次在源文件夹中上传以来在您的项目中创建了一个新的本地目录,则会在服务器上自动创建一个空目录。 |
覆盖或删除本地项时提示(R) | 选中此复选框以便 RubyMine 在下载时同步前提示确认覆盖或删除本地项目。 |
确认上传文件 | 选中此复选框以使 RubyMine 在将本地项目上传到远程主机之前提示确认。 |
自动将更改的文件上传到默认服务器(U) | 从此列表中选择何时希望 RubyMine 自动将文件上传到默认服务器或服务器组。 可用选项包括:
默认服务器配置或服务器组在 部署 页面上通过选择列表中的所需项目并单击 用作默认值 工具栏按钮 |
跳过外部更改(X) | 选择此复选框以排除使用第三方工具(如 VCS、脚本等)所做的本地更改,防止自动上传。 复选框仅在 始终 或 显式保存操作时 选项在 自动将更改的文件上传到默认服务器(U) 列表中被选中时可用。 |
本地删除后删除远程文件 | 选中此复选框,以便在本地文件删除时,RubyMine 在自动上传过程中自动删除远程文件。 复选框仅在 始终 或 显式保存操作时 选项在 自动将更改的文件上传到默认服务器(U) 列表中被选中时可用。 请注意,此选项作为额外的安全措施,可能导致不需要的文件保留在远程服务器上。 例如,考虑一个本地文件 FILE.md ,它被重命名为 RENAMED.md 。 由于重命名文件在技术上与删除文件并创建新文件没有区别,自动上传后将发生以下情况:
|
保留原始文件权限 | 如果启用,RubyMine 在通过 FTP/FTPS 上传文件到远程主机时将保留原本的本地文件权限。 此选项仅适用于 macOS 和 Linux。 |
重写文件的默认权限(V) | 选中此复选框以更改分配给远程主机上已上传文件的默认权限。 点击 浏览 |
重写文件夹的默认权限(I) | 选中此复选框以更改分配给远程主机上传文件夹的默认权限。 点击 浏览 |
在有更新的文件情况下进行上传时发出警告(N) | 使用此列表定义将文件上传到远程主机时要应用的版本控制策略。 根据此选择,RubyMine 要么检查自从您下载相应文件后远程主机上的文件是否有任何更改,要么只是覆盖远程文件。
|
通知远程更改(H) | 选中此复选框以接收有关远程主机更改的通知。 复选框仅在 比较时间戳和大小 或 比较内容 选项在 在有更新的文件情况下进行上传时发出警告(N) 列表中被选中时可用。 |