如何设置Scala/Java工作流以通过jumpserver远程部署jar和远程调试?

如何设置Scala/Java工作流以通过jumpserver远程部署jar和远程调试?,java,scala,debugging,ssh,deployment,Java,Scala,Debugging,Ssh,Deployment,在我的组织内,我的任务是进行一些Spark开发,我尝试使用Scala,但其他大部分代码都是Java。我正在与Maven一起管理依赖关系。我的代码最终将在Hadoop集群(Cloudera)的边缘节点上运行 这个边缘节点只能通过SSH通过jumpserver访问,我正在努力寻找一个高效的工作流。这个团队中的其他人一直在调试,包括打印语句、本地构建.jar、通过WinSCP将它们复制到边缘节点,然后在Putty会话上通过命令行运行它们(SSHed到jumpserver,然后在该会话中使用SSH命令连

在我的组织内,我的任务是进行一些Spark开发,我尝试使用Scala,但其他大部分代码都是Java。我正在与Maven一起管理依赖关系。我的代码最终将在Hadoop集群(Cloudera)的边缘节点上运行

这个边缘节点只能通过SSH通过jumpserver访问,我正在努力寻找一个高效的工作流。这个团队中的其他人一直在调试,包括打印语句、本地构建.jar、通过WinSCP将它们复制到边缘节点,然后在Putty会话上通过命令行运行它们(SSHed到jumpserver,然后在该会话中使用SSH命令连接到边缘节点)

me->jumpserver->边缘节点

我想知道一个什么样的解决方案可以让jar快速构建并放在这个服务器上,并在连接进行远程调试的同时让它在那个环境中运行

Eclipse和IntelliJ都有远程调试的功能,但这可以通过jumpserver实现吗?我们只能通过SSH实现吗

将边缘节点上的目录映射到本地文件系统,让IDE将.jar放在那里并在那里进行调试,这样是否有效

---请记住,.jar确实需要位于边缘节点的服务器上下文/环境中(对于Spark/Hadoop hdfs),因此如果.jar尝试使用我的本地Windows环境,这将不起作用

有什么解决办法?谢谢

其他可选信息:


我们让Jenkins运行到每次签入代码更改时自动生成代码的位置,我们内部有一个构建/部署管理服务,可以将其配置为实际输出.jar并可以选择将其部署到服务器。但是,对于运行代码检查更改来说,这太慢了,不实用,并且不能解决调试问题。

您可以检查jsch java库,通过它连接到unix服务器并传递所需的命令吗。在您的情况下,您需要连接到jumphost,然后传递命令,如边缘节点主机和所需命令