Назад | Перейти на главную страницу

Параллельная разработка в Linux

Я разработчик Java в среде Windows и теперь хочу начать разработку в среде Linux. Я знаю, что Linux - это многопользовательская платформа. Итак, мой вопрос: могут ли несколько разработчиков работать с одним и тем же Linux?

Например - у меня есть сервер Linux и две машины с ОС Windows. Обе машины с двумя окнами обращаются к машине Linux через VNC. Есть проект (веб-приложение) на сервере Linux и две eclipse IDE. Теперь оба пользователя проверяют один и тот же проект на собственном компьютере и начинают разработку. Является ли это возможным? Если «да», то как? и я "Нет", тогда есть ли другой способ параллельной разработки?

С уважением, Амит

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

Но вместо VNC я бы очень рекомендовал Нет машины (NX) Это позволит людям одновременно использовать систему, не видя одно и то же на экране (хотя это также возможно). Также будет много более отзывчивый, чем VNC. Я бы сказал, что NX для компьютера на расстоянии мили примерно так же отзывчив, как VNC в локальной сети. Вам также следует изучить возможность использования FreeNX (GPL), а не платной версии.

Как указано в других ответах, Linux изначально задумывался как многопользовательский, поэтому нет проблем с одновременной работой нескольких пользователей. Просто дайте каждому пользователю собственную учетную запись для входа, тогда они автоматически получат свой собственный домашний каталог и смогут работать независимо. И VNC, и NX будут работать для удаленного доступа. Вы даже можете использовать Linux в качестве сервера RPD (протокол удаленного рабочего стола), если хотите получить к нему доступ с помощью встроенного клиента RDP Windows (хотя опыта с этим нет).

Одно замечание: вы пишете

но когда один пользователь запускает проект из eclipse, он может, но другой пользователь не может запустить этот проект

Не могли бы вы опубликовать точное сообщение об ошибке? «другой пользователь не может работать» не очень помогает.

Я подозреваю, что вы используете фиксированный порт TCP для своего веб-приложения. Хотя большинство ресурсов в системе Linux существует для каждого пользователя, порты TCP являются глобальным ресурсом, поэтому два пользователя не могут использовать один и тот же порт одновременно. Вам просто нужно создать правило, чтобы у каждого разработчика был свой порт (один может использовать 9000, следующий 9001 и т. Д.). Затем каждый может запустить веб-приложение на своем собственном порту (установив его на сервере приложений) без вмешательства других.

Обратите внимание, что работа на другом порту не должна иметь никакого значения для веб-приложения. Хотя HTTP обычно использует порт 80, он будет работать через любой порт. Просто войдите в него как http: // локальный: 9000 (для порта 9000) и т. д.

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

Для этого вам следует рассмотреть Subversion, если у вас еще нет системы контроля версий.

Но программирование через VNC не так уж и приятно. У меня гораздо лучший опыт работы с этой настройкой:

  1. Две машины разработчика Windows, работающие под Linux с VirtualBox в бесшовном режиме.
  2. Изменения передаются на центральный сервер Linux, на котором работает Subversion.

Это также имеет то преимущество, что всегда можно работать, даже если сервер временно недоступен.