Wie eine Remote-software entwickeln?
Angenommen ich habe einen server, der läuft auf Linux, auf dem ich möchte für die software-Entwicklung (hauptsächlich in OCaml, C/C++ und Java).
Gibt es eine Möglichkeit, "remote entwickeln" diese Dinge? Ich meine eine IDE, die mir erlaubt, zu ändern, Dateien aus der Ferne (Sie werden dann hochgeladen, wenn Sie geändert und gespeichert) und kompilieren Sie durch SSH (grundsätzlich aufrufen make
oder omake
).
Ich war auf der Suche nach etwas, das macht diesen Prozess für den Entwickler transparent, ohne mich darum zu kümmern, Dinge zu tun, von hand. Ich bin mit Eclipse so Frage ich mich, wenn Sie ein plugin, um dies zu erreichen ist oder wenn gibt es andere Möglichkeiten?
Daran, dass es passieren kann, dass die lokale Maschine nicht in der Lage, software zu erstellen, die ich beabsichtige zu (z.B. OCaml) also es sollte sich nur auf die remote-Verbindung.
Vielen Dank im Voraus
- So möchten Sie die IDE starten, lokal, ändern von remote-Dateien, und Sie bauen auf eine remote-Maschine?
- ja, das ist es 🙂
- Hast du das Problem beheben? Ich habe ähnliches problem, ich möchte meine IDE auf Windows und ich habe eine VM, enthält winzige Linux-inside, gerne nutze ich die IDE-lokal und das Projekt code innerhalb der VM (Grund: FS Windows Einschränkungen)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, deine Antwort ist IDE-centric.
KDE ioslaves Unterstützung für den Zugriff über SFTP und SSH (mit Fisch, was mit einem Perl-Skript hochgeladen, um die remote-Maschine). Ich glaube Gnome hat auch ein virtual file system (gvfs), die unterstützt remote-Dateisystem zugreifen.
Meine Empfehlung, daher ist die Wahl einer IDE-unterstützt ein virtuelles Dateisystem, die arbeiten können, über SSH/SFTP und spezifizieren Sie die build-Befehl. Sie würden dann müssen nur geben Sie den build-Befehl erhalten würde, seine Ausgabe von der remote-Befehl machen (zum Beispiel vim hat eine
makeprg
option, die eingestellt werden kann auf einen beliebigen Befehl).Können Sie die X11-Weiterleitung. Auch wenn Sie herstellen einer Verbindung von einer Windows-Maschine.
Wenn Sie auf Linux, die Verbindung mit ssh -Y könnte arbeiten direkt aus der box für Sie:
Nun, die einfachste Idee, die ich an denken kann, aber es ist eher brute force wäre, nur öffnen, eine Datei-Freigabe auf dem server und Bearbeiten Sie dann die Datei direkt über Eclipse.
Wenn das nicht funktioniert für Java-zumindest könnte man machen Verwendung von Maven zu tun, einige dieser Aufgaben. Ich bin nicht so sicher über die Berufung Machen obwohl.
Je nachdem, wie 'remote' das ist, warum nicht ssh und die IDE starten aus der Ferne über X?
Verwendung eines build-Tools (Hudson zum Beispiel) könnten Sie einen build-agent auf dem remote-server, überprüfen Sie Ihre änderungen in das repository als normal, und haben dazu bauen, wenn Sie Einchecken von änderungen (es wird entweder ein repository Haken oder eine Umfrage für änderungen, wahrscheinlich). Ihr build-Prozess wird die gleiche, es wird einfach automatisiert werden. 🙂
emacs hat tramp, können Sie beide öffnen und speichern von remote-Dateien, und öffnen Sie eine shell auf einem remote-system. Arbeiten mit tramp ist fast genau wie das arbeiten mit lokalen Dateien, außer für den Dateinamen. Zu öffnen 'foo.c' auf der Maschine 'bork' als Benutzer 'joe', ich öffne es mit der standard-emacs-Befehle, geben Sie den Pfadnamen /joe@bork:foo.c
Benutze ich
vim
für die remote-Entwicklung. (Gut, ich benutze vim auch nicht-remote.)Wenn das bauen ist das problem, haben Sie darüber nachgedacht, einfach mit einem automatisierten build-system, wo Sie commit im svn und das system dann automatisch erstellt die software? Ich habe gehört, viele gute Dinge über diese Art von Systemen, obwohl ich noch nicht ganz versucht aus mir.
Als für die remote-Entwicklung, eine SVnDAV Lösung sinnvoll sein. Es ist im Grunde begeht Ihr alle sparen und ist völlig transparent für den text-editor Sie verwenden. Aber ein wahrscheinlich noch viel schönere Lösung wären einfach zu verwenden, ein Netzwerk-Laufwerk/- Verzeichnis und Bearbeiten von Dateien per Fernzugriff. Auf allen unix-basierten Systemen sollte diese Arbeit, die völlig transparent für den Entwickler und den text-editor.
Ihre Wahl der IDE haben den größten Einfluss auf die Antwort auf die Frage "kann ich?". Wenn Ihre IDE der Wahl ist die CLI-basierte als Sie können immer nur SSH -, Feuer-bis
screen
(so, dass die CLI-Sitzung über persistente SSH-Sitzungen), und haben es!Verwenden, vim oder emacs, da Sie bieten Ihnen Geschwindigkeit. Ich weiß, es ist ein Lernprozess, verbunden mit diesen Editoren; aber sobald Sie sich bequem in jedem von Ihnen; Sie werden in der Lage sein, an Ihnen zu arbeiten so gut, wie mit Eclipse oder andere IDE.
Wenn Sie bereits ein linux-server, würde dann ich vorschlagen, einrichten eines einfachen VPN-server. Ich habe dies in der Vergangenheit getan und es funktioniert ziemlich gut. Auf diese Weise können Sie eine Verbindung herstellen und ändern/erstellen Sie Ihre Dateien mit einem "lokalen" OS. Ich Tat dies, weil ich mit mac, pc und linux durch verschiedene Teile des Tages und in mehreren Orten, so dass die VPN die mir erlaubt Bearbeiten von Dateien per Fernzugriff w/out mit zu ermöglichen file-sharing über das internet.
Es gibt viele tutorials darüber, wie dies zu erreichen, auch wenn Sie neueren linux. Ich benutze ubuntu server auf meiner linux-box und hier gibt es das tutorial, das ich verwendet habe.
http://www.ubuntugeek.com/howto-pptp-vpn-server-with-ubuntu-10-04-lucid-lynx.html
Netbeans 7.3 hat eine neue Funktion, welche Adressen dein problem (und meins). Hier ist das tutorial.
https://netbeans.org/kb/docs/cnd/remotedev-tutorial.html
Hinweis: ich weiß, es ist schon 3 Jahre her seit diese Frage gestellt wurde, so kann die Antwort irrelevant für @Jack jetzt.
Einer IDE unterstützt, dass Sie genau Ihre Sprache eingestellt ist Nuklid. Es fügt einige Pakete zu Atom und wird intern in Facebook genau wie Sie Sie beschrieben haben - vollwertiges remote-Entwicklung in C++, Java und Ocaml.
Wenn eine freundliche Datei-editor ist genug für Sie, dann würde ich empfehlen die Verwendung Jupyter.