2010-09-23 4 views
0

Что бы я хотел сделать, это указать webroot с моего веб-сервера dev на некоторый каталог, который каким-то образом связан с svn, поэтому, когда я совершаю изменения, они будут автоматически видимы на моем веб-сервере dev.svn directory as webroot

Любой ключ, как я могу это сделать?

EDIT

я создаю проект Джанго поэтому я justing сервер разработки Django

+0

Что такое веб-сервер dev? IIS? Apache? – Rohith

ответ

3

Вы можете сделать свой Wwwroot рабочую копию репозитория SVN, с помощью checking it out с сервера. Чтобы получить автоматические обновления, вам придется либо заглянуть в post-commit hook, либо выполнить задание cron (или аналогичное) для выполнения задачи по обновлению wwwroot каждые X минут или около того.

+0

Или у вас может быть непрерывный процесс интеграции для прослушивания коммитов и обновления вашей рабочей копии. – Rohith

+2

Любой метод, который вы выберете, было бы полезно рассмотреть (при условии, что ваш сервер Apache), используя файл .htaccess, чтобы запретить доступ к содержимому вашего каталога .svn. –

2

Как правило, вам нужно будет проверить свой веб-сайт в каталоге, который вы используете в качестве своего веб-корня, а затем настроить Subversion post-commit hook, который будет проверять последнюю версию в этом каталоге каждый раз, когда кто-то совершает новую версию.

+0

Точно, веб-сервер не может посмотреть репозиторий VCS и решить, какие версии будут текущими для веб-сайта или даже считать их файлами php или css или html. Простым способом было бы запустить процесс проверки с последней версии на целевой сервер, и более сложным способом было бы перейти на CI (Continuous Integration) с помощью инструмента, такого как Hudson. – PurplePilot

1

Наличие автоматического обновления производственного сервера, вероятно, не является отличной идеей. Но если вы хотите сделать это с помощью dev-боксов, загляните в службу непрерывной интеграции, такую ​​как Hudson. Он может просматривать ваш исходный репозиторий и автоматически обновлять одну или несколько рабочих копий каждый раз, когда вы совершаете код. Если у вас есть какая-либо другая работа, которую необходимо выполнить (например, выполнить сборку, перезапустить демоны/службы, сбросить некоторые кеши и т. Д.), Это также может сделать эту работу.

Смежные вопросы