假设我有一台运行在Linux上的服务器,我想在其上开发软件(主要是OCaml,C / C ++和Java)。
有没有办法“远程开发”这些东西?我的意思是一个允许我远程修改文件的IDE(然后在修改和保存时上传它们)并通过SSH编译(基本上调用) make
要么 omake
)。
我正在寻找能让这个过程对开发人员透明的东西,而不需要手工操作。我习惯使用Eclipse,所以我想知道是否存在实现此目的的插件或者是否还有其他选择?
请注意,本地机器可能无法构建我打算使用的软件(例如OCaml),因此它应该仅依赖于远程连接。
提前致谢
我认为你的答案是以IDE为中心的。
KDE的ioslaves支持通过SFTP和SSH进行访问(使用fish,它使用上传到远程计算机的Perl脚本)。我相信Gnome还有一个支持远程文件系统访问的虚拟文件系统(gvfs)。
因此,我的建议是选择支持可通过SSH / SFTP运行的虚拟文件系统的IDE,并允许您指定构建命令。然后,您只需要指定build命令,该命令将从远程make命令获取其输出(例如,vim具有 makeprg
可以设置为任意命令的选项)。
您可以使用X11转发。即使你是 从Windows机器连接。
如果您使用的是Linux,那么使用ssh -Y连接可能会为您提供开箱即用的功能:
ssh -Y user@your_server
eclipse &
这是我能想到的最简单的想法,虽然它是相当暴力的,只是打开一个文件共享到服务器,然后直接通过Eclipse编辑文件。
如果这对Java不起作用,至少你可以利用Maven来完成其中的一些任务。我不太确定调用Make。
取决于这是多么“遥远”;为什么不通过X远程ssh并运行IDE?
使用构建工具(例如Hudson),您可以在远程服务器上放置构建代理,正常检查对存储库的更改,并在签入更改时进行构建(它将执行存储库挂钩或轮询)对于变化,可能)。您的构建过程将是相同的,它将简单地自动化。 :-)
emacs有 流浪汉,它允许您打开和保存远程文件,并在远程系统上打开一个shell。使用tramp几乎就像使用本地文件一样,文件名除外。要在机器'bork'上打开'foo.c'作为用户'joe',我用标准的emacs命令打开它,给它路径名为/joe@bork:foo.c
我用 vim
用于远程开发。 (好吧,我使用vim也是非远程的。)
如果构建是问题,您是否考虑过简单地使用自动构建系统,您承诺使用svn,系统会自动构建软件?我听说过很多关于这些系统的好东西,虽然我自己也没有尝试过。
至于远程开发,SVnDAV解决方案可能是合理的。它基本上会提交您的每个保存,并且对您正在使用的文本编辑器完全透明。然而,一个可能更好的解决方案就是使用网络驱动器/目录并远程编辑文件。在所有基于unix的系统上,这应该对开发人员和文本编辑器完全透明。
您选择的IDE对“我可以吗?”的答案影响最大。如果您选择的IDE是基于CLI的,那么您可以随时使用SSH,启动 screen
(这样你的CLI会话在SSH会话中是持久的),并拥有它!
使用vim或emacs因为它们会为你提供速度。我知道这些编辑有一个学习曲线;但是一旦你对任何一个感到舒服;您将能够像Eclipse或任何其他IDE一样使用它们。