Как удаленно разработать программное обеспечение?

Предположим, что у меня есть сервер, который работает на Linux, на котором я хотел бы разработать программное обеспечение (главным образом OCaml, C/C++ и Java).

Существует ли путь к "удаленному, разрабатывают" эти вещи? Я имею в виду IDE, который позволяет мне изменять файлы удаленно (они затем загружаются при изменении и сохранении) и скомпилировать через SSH (в основном вызов make или omake).

Я искал что-то, что делает этот процесс очевидным для разработчика, не заботясь о выполнении вещей вручную. Я используюсь для использования Eclipse так интересно, существует ли плагин для достижения этого или если там другой выбор?

Следите за этим, это может произойти, что локальная машина это не способный создать программное обеспечение, к которому я предназначаю (например, для OCaml), таким образом, это должно положиться только на удаленное соединение.

Заранее спасибо

13
задан Greg 23 July 2010 в 16:33
поделиться

11 ответов

Я думаю, что ваш ответ зависит от IDE.

ioslaves в KDE поддерживает доступ как по SFTP, так и по SSH (с помощью fish, который использует Perl-скрипт, загруженный на удаленную машину). Я полагаю, что Gnome также имеет виртуальную файловую систему (gvfs), которая поддерживает удаленный доступ к файловой системе.

Поэтому я рекомендую выбрать IDE, которая поддерживает виртуальную файловую систему, которая может работать через SSH/SFTP и позволяет указать команду сборки. Тогда вам нужно будет указать только команду сборки, которая будет получать вывод от удаленной команды make (например, в vim есть опция makeprg, которая может быть установлена на любую произвольную команду).

1
ответ дан 2 December 2019 в 00:45
поделиться

В зависимости от того, насколько это "удаленно"; почему бы не войти по ssh и не запустить IDE удаленно через X?

.
1
ответ дан 2 December 2019 в 00:45
поделиться

Используя инструмент сборки (например, Hudson), вы можете разместить агент сборки на своем удаленном сервере, проверять ваши изменения в репозитории как обычно и заставлять его выполнять сборку, когда вы регистрируете изменения. (он, вероятно, либо выполнит перехват репозитория, либо произведет опрос на предмет изменений). Ваш процесс сборки будет таким же, просто он будет автоматизирован. : -)

1
ответ дан 2 December 2019 в 00:45
поделиться
В

emacs есть tramp, который позволяет открывать и сохранять удаленные файлы, а также открывать оболочку на удаленной системе. Работа с tramp почти полностью аналогична работе с локальными файлами, за исключением имени файла. Чтобы открыть файл 'foo.c' на машине 'bork' от имени пользователя 'joe', я открываю его стандартными командами emacs, задавая ему имя /joe@bork:foo.c

1
ответ дан 2 December 2019 в 00:45
поделиться

Я использую vim для удаленной разработки. (Ну, я также использую vim без удаленного управления.)

0
ответ дан 2 December 2019 в 00:45
поделиться

Если у вас уже есть сервер linux, то я бы предложил установить простой VPN-сервер. Я уже делал это в прошлом, и это работает довольно хорошо. Таким образом, вы сможете подключаться и изменять/создавать свои файлы с любой "локальной" ОС. Я сделал это потому, что я использую mac, pc и linux в разное время дня и в разных местах, поэтому VPN позволил мне редактировать файлы удаленно без необходимости разрешать обмен файлами через интернет.

Существует множество руководств о том, как этого добиться, даже если вы новичок в linux. Я использую ubuntu server на своей linux-машине, и вот учебник, который я использовал.

http://www.ubuntugeek.com/howto-pptp-vpn-server-with-ubuntu-10-04-lucid-lynx.html

0
ответ дан 2 December 2019 в 00:45
поделиться

Ваш выбор IDE больше всего повлияет на ответ на вопрос «могу ли я?». Если выбранная вами IDE основана на интерфейсе командной строки, вы всегда можете просто войти по SSH, запустить screen (чтобы ваш сеанс CLI был постоянным во всех сеансах SSH) и приступайте к делу!

0
ответ дан 2 December 2019 в 00:45
поделиться

Если проблема в сборке, не думали ли вы о том, чтобы просто использовать систему автоматической сборки, где вы фиксируете svn, а система затем автоматически собирает программу? Я слышал много хорошего о таких системах, хотя сам еще не пробовал.

Что касается удаленной разработки, то решение SVnDAV может быть разумным. Оно в основном фиксирует каждое ваше сохранение и полностью прозрачно для используемого вами текстового редактора. Однако, вероятно, гораздо более приятным решением было бы просто использовать сетевой диск/каталог и редактировать файлы удаленно. На всех системах на базе unix это должно работать совершенно прозрачно как для разработчика, так и для текстового редактора.

0
ответ дан 2 December 2019 в 00:45
поделиться

Ну, самая простая идея, которую я могу придумать, хотя это довольно грубая сила, это просто открыть файловый ресурс на сервере и затем редактировать файл непосредственно через Eclipse.

Если это не сработает для Java, по крайней мере, вы можете использовать Maven для выполнения некоторых из этих задач. Однако я не так уверен насчет вызова Make.

2
ответ дан 2 December 2019 в 00:45
поделиться

Используйте vim или emacs, так как они предложат вам скорость. Я знаю, что с этими редакторами связано обучение; но как только вы освоитесь в любом из них; вы сможете работать с ними так же хорошо, как с Eclipse или любой другой IDE.

0
ответ дан 2 December 2019 в 00:45
поделиться

Вы можете использовать переадресацию X11. Даже если вы подключаетесь с машины Windows.

Если вы работаете в Linux, подключение с помощью ssh -Y может работать прямо из коробки:

ssh -Y user@your_server
eclipse &
7
ответ дан 2 December 2019 в 00:45
поделиться