Контроль версий и сложные приложения, которые устанавливают файлы везде - PullRequest
1 голос
/ 27 сентября 2010

Я должен работать над веб-приложением.Управление версиями имеет каталоги, структурированные как:

appname/conf
appname/www
appname/etc
appname/keys
appname/lib
...

Однако, чтобы приложение работало, оно в настоящее время должно находиться в системных каталогах:

/etc/httpd/conf.d
/var/www/html
/etc/appname
/etc/pki/tls/
/usr/lib/perl5/...
...

Существует RPM, чтобы принятьКод VC и создайте пакет, который помещает код в производственное место (например, / var / www / html и другие).Инструкций по установке нет, я должен использовать RPM и импровизировать (не знаю, что я знаю).

В таком случае, как все редактируют приложение, поддерживая функции контроля версий (git diff и т. Д.)...) и как быстро можно было внести изменения в приложение?Приложение написано на Perl, поэтому не ожидается никакого шага компиляции.

Я подумал о том, как:

  • работает в директории VC (и код невыполнить немедленно, вам нужно выполнить какой-то шаг установки)
  • работать с кодом в конечном месте (поэтому редактирование кода работает немедленно, но вы должны вручную переместить код обратно в каталоги VC)
  • написать программу наблюдения за файловой системой, которая следит за изменениями в каталоге VC и устанавливает измененные файлы в их конечные местоположения (может быть, что-то подобное существует?)
  • какой-то другой очевидный метод, который я забыл, янадеюсь, кто-нибудь скажет мне: -)

Как все справляются с подобными делами?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2010

Есть разница между:

  • контроль версий : где вы управляете источником и строите доставку (в вашем случае это может быть tar.gz всех файлов, которые необходимо развернуть в системных каталогах)
  • управление выпуском : где вы берете доставку и копируете / развертываете ее в своей рабочей среде.

Какой-то процесс непрерывной интеграции (основанный на планировщике, например Hudson ) может помочь вам контролировать VC и строить / развертывать, как только будет сделан новый коммит.

0 голосов
/ 27 сентября 2010

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

Поскольку изменение вещей на более осмысленное не может быть для вас прямым вариантом, возможно ли для вас использовать символическую ссылку из системных каталогов в каталог VC?

...