首页 > 解决方案 > 使用 IntelliJ IDE 进行本地开发,但从远程机器进行测试

问题描述

我正在开发一个存储库,我必须从数百万个文件中提取一些特征。

对我来说,当前的工作流程是:

  1. 在 IntelliJ 中编写代码
  2. 运行单元测试
  3. 小数据试运行
  4. ssh 到远程机器
  5. sftp 当前代码到远程机器
  6. 在具有所有数百万个文件的服务器上运行
  7. 查看日志异常并找出代码在边缘情况下失败的地方
  8. 解决这些问题并从第 1 步开始重复

我的问题是三方面的:

标签: intellij-ideasshremote-debugging

解决方案


1) 有很多方法可以同步您的代码。有时最好的方法是在 Python 或 sh 中创建一种部署脚本,如果您不想提交和推送要在服务器上测试的任何更改。您可以在此处使用sftpscp使用更多自动化(使用gzip等)。Git 和 rsync 是这里比较成熟的解决方案。但是使用 VCS,您的问题将更容易重现并且更容易找到。

2)您可以连接到远程进程以直接从 IntelliJ 对其进行调试。有一个官方教程:https ://www.jetbrains.com/help/idea/tutorial-remote-debug.html (但这取决于您的安全设置,因为Java调试协议本身并不安全,您可能需要为此设置SSH隧道)

3) 另一个更激进的选择:您可以在服务器上运行 IntelliJ IDEA 本身并直接调试。您可以使用 Projector - 一个开源项目,可让您在服务器上使用浏览器中的 UI 运行 IntelliJ(无需 X11 即可运行)。我建议您首先查看此存储库https://github.com/JetBrains/projector-docker或按照此处的说明在服务器上配置 IntelliJ:https ://github.com/JetBrains/projector-server 。


推荐阅读