教程:将 Docker 用作远程解释器
Docker 是一个用于构建、共享和运行容器化应用程序的工具。 RubyMine 提供 与 Docker 的集成 ,并允许您在项目中执行所有必要的操作——从构建镜像到在运行的容器内执行命令。 此外,RubyMine 使您能够将运行中的 Docker 容器用作远程解释器。 这意味着您可以直接从 IDE 中在隔离环境中 运行、 调试和 测试您的应用程序。
本教程描述了如何将 Docker 用作远程解释器来运行、测试和调试 示例 Rails 应用程序。
在本教程中,我们使用的是 macOS,并已安装 RubyMine。 在开始之前,请确保已配置 Docker 集成。
先决条件
在本教程中,我们将使用安装了 RubyMine 的 Mac 和 macOS。 此外,应满足以下先决条件以完成所有步骤:
验证是否已安装并运行 Docker。
确保 Docker 插件 已启用。
构建 Docker 镜像
首先,我们需要为应用程序构建一个 Docker 镜像。
打开 Dockerfile 。 按 Ctrl+Shift+N ,输入 Dockerfile ,然后按 Enter。

单击
,在边栏中选择 新建运行配置。
在 编辑运行配置 对话框中,在 图像标签 字段中指定镜像名称。

单击 运行 以开始构建镜像。
RubyMine 在 服务工具窗口中显示镜像构建过程。 等待镜像构建完成并显示在 镜像 组中。

将 Docker 配置为远程解释器
现在我们可以使用构建的镜像为应用程序配置远程解释器,因为该镜像已安装 Ruby 解释器和所需的 gems。 要将 Docker 配置为远程解释器,请执行以下操作:
打开 设置 对话框 Ctrl+Alt+S ,转到 语言与框架 | Ruby 解释器 页面。
单击
,并在下拉菜单中选择 远程解释器或版本管理器。

在弹出的对话框中,选择 Docker 并指定以下选项:

服务器 :指定用于运行容器的 Docker 服务器。
图像名称 :选择在 上一章中创建的镜像。
Ruby 或版本管理器路径 :保留默认 ruby 值以自动检测 Ruby 解释器的路径。
点击 确定。
在 Ruby 解释器 页面中选择添加的解释器并单击 确定。

等待 RubyMine 完成索引过程并创建辅助 Docker 镜像和容器。

运行迁移
在运行 Rails 应用程序之前,我们将运行迁移以准备数据库。
请按两次 Ctrl 并输入
db:migrate。 在下拉菜单中选择 rake db:migrate 并按下 Enter。
保持被调用的 执行 'db:migrate' 对话框中的默认设置,然后点击 确定。

这将在 development.sqlite3 数据库创建在 数据库 文件夹中。
请再次按照第一步中描述的运行
rake db:migrate。 这次,请在 执行 'db:migrate' 对话框中将 环境 选项设置为 test ,然后点击 确定。 创建的 test.sqlite3 数据库将用于运行测试。
运行测试
让我们为应用程序运行测试。 RubyMine 使您能够为此目的使用不同的 测试框架 ,包括 Minitest、RSpec 和 Cucumber。
我们的项目在 test 文件夹中包含 Minitest 测试。
运行所有测试
打开项目视图 Alt+1。
右键单击 test 文件夹,并从上下文菜单中选择 。

RubyMine 将运行并在 运行 工具窗口中显示测试结果。

现在让我们尝试运行一个特定的测试。
运行特定测试
打开 users_controller_test.rb 文件,向下滚动到 未登录时应重定向到索引测试。
单击
,在边栏中选择 。

RubyMine 将显示此测试的结果。

运行应用程序
现在我们可以使用配置的远程解释器运行我们的应用程序。
在工具栏上选择 sample_rails_app 配置并单击
Shift+F10。

打开浏览器,输入 0.0.0.0:3000 地址并按 Enter 以查看我们的工作应用程序。
要停止应用程序,请单击工具栏上的
Ctrl+F2。




