Хорошие способы использования системы управления версиями и IDE для кода плагина?
Вопрос
Каковы хорошие способы решения проблем, связанных с кодом плагина, который взаимодействует с внешней системой?
Чтобы привести конкретный и репрезентативный пример, предположим, я хотел бы использовать Subversion и Eclipse для разработки плагинов для WordPress.Основной код WordPress установлен на веб-сервере, а код плагина должен быть доступен в подкаталоге этого сервера.
Я мог бы понять, как вы могли бы просто извлечь копию своего кода непосредственно из веб-каталога на компьютере разработчика, но как бы вы также интегрировали это с IDE?
Здесь я делаю предположение, что весь код для плагина расположен в одном каталоге.
Большинство людей просто добавляют плагин как проект в IDE, а затем помещают рабочую папку для проекта туда, где этого хочет "основная" программная система?Или люди используют какие-то символические ссылки на свой домашний каталог?
Решение
Короткий ответ - у меня есть серверы разработки и производства, которые проверяют соответствующие каталоги непосредственно из SVN.
Для вашего примера:
Разрабатывайте в IDE, как обычно, затем, когда будете готовы к тестированию, зайдите в свой локальный репозиторий.Затем ваш веб-сервер разработки может проверить этот каталог, и вы сможете легко протестировать его.
Как только вы будете готовы к работе, объедините изменения в производственную ветку и выполните обновление svn на производственном веб-сервере.
Другие советы
Там, где я работаю, некоторым людям нравится использовать Плагин для синхронизации файлов для Eclipse для этой цели, хотя я видел некоторые странности с этим плагином, когда файлы в целевом каталоге иногда пропадают.Вся структура представляет собой:
- Задача Ant создать целевой каталог в нужном месте (в основном с помощью команд копирования)
- Плагин для синхронизации файлов настроен для синхронизации файлов между местоположением разработки и целевым местоположением по мере написания кода (синхронизация выходной папки Eclipse с местоположением в пути к классу веб-сервера и т.д.)
Конечно, символические ссылки могут работать лучше в системах, которые имеют хорошую поддержку символических ссылок :-)
На мой взгляд, добавление символической ссылки, указывающей на вашу папку разработки, кажется аккуратным решением проблемы.
Если основной проект находится на другом компьютере / веб-сервере, вы могли бы использовать что-то вроде sshfs для монтирования вашего каталога разработки в нужное место на веб-сервере.