2017-02-01 18 views
1

Мне нужно создать и настроить затмение (Mars 2) для проекта C. Проект находится в репозитории SVN и может быть скомпилирован только на конкретном сервере linux redhat, который имеет соответствующую инструментальную цепочку.Синхронизация SVN и SFTP с eclipse

Что мне нужно - это IDE, которая позволит мне перенести мои изменения в репозиторий и автоматическую синхронизацию их на сервере Linux. Я пробовал несколько вещей, но никто из них не работал. Я должен (к моему большому сожалению) избегать использования терминала при использовании этой IDE, но, конечно, не при настройке.

Во-первых, я использовал функцию Remote System Explorer в eclipse. Я успешно подключился к серверу, создал «Удаленный проект», который я мог открыть в перспективе C/C++. Тем не менее, все это невозможно использовать, поскольку оно не индексируется, мне пришлось создать «Действия пользователя», чтобы скомпилировать (что на мой взгляд довольно анти-эргономично), а плагин SVN не обнаруживает проект как копия SVN. Кроме того, в перспективе C/C++ существует разрыв в 2s между моментом, когда я что-то печатаю, и в тот момент, когда он появляется на моем экране.

Я также попытался подключить сетевую файловую систему на своей локальной машине с помощью sshfs, и если она работает намного лучше, я по-прежнему ощущаю запаздывание. Кроме того, мне пришлось написать Makefile и вызвать мой компилятор через «ssh $ (USER) @ $ (HOST) build.ksh». (одна из точек проекта - написать реальный Makefile ...). Но SVN работает.

Я также попытался запустить затмение на хост-машине, с пересылкой X, и если он работает отлично, есть все еще отстает ...

Наконец, я попробовал синхронизации SFTP, но мне кажется, я могу» t используйте мои функции плагина SVN и sftp вместе.

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

ответ

0

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

Хотя он произошел из Java мир, я успешно использовал Jenkins для непрерывной интеграции C-проектов на Linux-сервере, но есть и другие, такие как TeamCity или GitLab CI (последний потребует, чтобы вы переключились на Git, но это действительно опрятная система с конфигурацией YAML для CI).

Конечно, системы CI имеют кривую обучения - вы не что-то вроде бесплатной еды, но это действительно может стоить усилий.

+0

К сожалению, у меня нет такой мощности в проекте, над которым я работаю ... CI - это запланированное изменение, но не сейчас ... Кроме того, мне хотелось бы скомпилировать мою работу на удаленном машине, и делать базовые тесты перед ее совершением, и я не уверен, что инструменты CI предназначены для этого ... – Helvinion

+0

Я вижу, но как получается, что вы не можете установить цепочку сборки локально? –

+0

Мне нужен предварительный компилятор oracle pro * C, и его невозможно установить для каждого разработчика, так как некоторые из нас находятся в Windows или Linux, у нас нет всех привилегий администратора, и, как я слышал, тонна конфигурации файлы и файлы описания баз данных необходимы ... слишком сложно, я думаю. – Helvinion