2008-09-16 8 views
13

Существуют ли какие-либо системы там, где вы можете проверить изменения для веб-сайта и автоматически обновить веб-сайт.Комбинированная система FTP SVN?

Веб-сайт эффективно убегает от последней стабильной сборки все время без необходимости FTP-файлов на сервере.

ответ

2

Возможно, вы захотите использовать комбинацию CruiseControl (или CruiseControl.NET) и Ant (или NAnt). Это делает работу очень хорошо для нас.

6

Я бы изучил использование post-commit hook для обновления сайта при внесении изменений. Это может быть что-то простое, как использование «svn export» для экспорта текущего состояния репозитория в локальный сайт. Конечно, это связано с соображениями производительности, если на вашем сайте много контента, поэтому вы можете сделать что-то более сложное и только push-обновления для контента, который был изменен в commit.

+1

Вы также можете запустить асинхронную задачу из привязки post-commit, чтобы процесс проверки не дождался завершения загрузки. Это может быть так просто, как запуск другого сценария в фоновом режиме. – 2008-09-16 11:52:20

0

Захват post_commit для SVN идеально подходит для таких вещей.

ADS (automatic deployment script выглядит как решение этого вопроса, но я никогда не пробовал - просто нашел его с несколькими секундами в Google.

1

Да, post_commit hook - это то, что вы хотите.

Что подключить до? Я бы рекомендовал rsync (если ваш экземпляр сайта не является рабочей копией svn) или ssh с ключом auth, вызывающим скрипт, который делает «cd WEBDIR & & svn up» (если это так).

0

Эффективно, что должно произойти, так это то, что изменения, которые я обозначил как живые или стабильные, необходимо объединить с веб-сайтом Live. Это фактически означает, что мне не нужно беспокоиться о случайном копировании файлов, и если что-то пойдет не так, его можно снова вернуть к предыдущей версии.

Я исследую post_commit hook, но сначала мне нужно найти способ сделать резервную копию, чтобы проблема с subversion не уничтожила сайт.

0

Возможно, вы захотите взглянуть на Unison. Я был доволен этим как механизм публикации сайта, где я хотел, эффективно, умный двухсторонний rsync. Вы могли бы, вероятно, связать его с SVN без особых трудностей.

0

svn2web, установленный как крюк после фиксации, будет передавать файлы ftp или scp из репозитория subversion на один или несколько веб-серверов при каждой фиксации. Подробнее см. Проект SourceForge.

1

Assembla получил его, используя свои инструменты FTP и Subversion.

+0

Я считаю, что это на стадии Бета, и они не рекомендуют использовать его для производства в это время. – Haluk 2010-04-28 09:42:13

0

http://svn2ftp.com> SVN2FTP позволяет пользователям Нажмите SVN/Subversion Фиксирует непосредственно на FTP или SFTP сервера