2010-07-23 3 views
11

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

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

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

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

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

+0

Итак, вы хотите локально запустить среду IDE, изменить удаленные файлы и создать ее на удаленной машине? – Greg

+0

да, вот и все :) – Jack

+0

@Jack, Вы разрешили это? У меня есть аналогичная проблема, я хочу, чтобы моя IDE в Windows, и у меня есть виртуальная машина, которая содержит крошечный Linux внутри, я бы хотел использовать локальную локальную среду IDE и код проекта внутри виртуальной машины (причина: ограничения Windows FS) –

ответ

1

Я думаю, что ваш ответ IDE-ориентирован.

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

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

2

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

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

1

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

+0

Нет, я Не хотите запускать IDE удаленно, я хочу сохранять файлы и компилировать их удаленно. – Jack

+0

@Jack - автоматический процесс сборки, который следит за изменениями в файловой системе? – AlG

+0

Он не должен быть автоматическим, просто что-то вроде: я редактирую источник, я его сохраняю, и он автоматически отправляет обновления на удаленный сервер, я «нажимаю кнопку компиляции» (просто чтобы дать идею), и он компилирует его удаленно. На данный момент мне не нужен какой-либо GUI-ответ, просто возможность выполнить скомпилированную программу и посмотреть результат. Может быть, я ищу ssh-wrapper :) – Jack

0

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

1

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

+1

Обязательно проверить код, прежде чем я смогу скомпилировать и проверить мои изменения, кажется мне обратным. –

+0

Если вы единственный, кто работает над этим (что, кажется, от того, что вы говорите), это не будет проблемой. Вы правы, это немного отстало, но с этой системой на месте она поддается расширению позже. – corsiKa

0

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

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

1

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

0

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

0

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

0

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

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

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

0

Netbeans 7,3 имеет новую функцию, которая адресует вашу проблему (и мое). Вот учебник.

https://netbeans.org/kb/docs/cnd/remotedev-tutorial.html

Примечание: Я понимаю, что это было 3 года, так как этот вопрос был задан таким образом, что ответ может быть никакого отношения к @Jack в настоящее время.

0

Одна IDE, которая поддерживает именно ваш языковой набор, - Nuclide. Он добавляет некоторые пакеты Atom и используется внутри Facebook точно так, как вы описали, - полноценная удаленная разработка в C++, Java и Ocaml.

Смежные вопросы