Разработка сайта с использованием Subversion
Давно уже я хотел освоить svn и применить его в своих проектах. Да все не было идеи как же это сделать. Цикл разработки софта с использованием subversion был мне понятен. Однако четкого осознания как применять его в вебе не было. Однако, всё постижимо, и теперь я имею представление о цикле разработки.
Вот что получилось:
- Предположим, что хостинг у нас есть. И доступ к нему тоже есть, хотя бы и по FTP.
- Создаем репозиторий на любом компе. Если веб-сервера свои, то можно рядышком поставить ещё svn-сервер, а можно и на веб-сервере его развернуть. Но это будет ещё не скоро, поэтому сгодится любой комп, хоть даже и тот, на котором кодим. Не суть важно.
- Импортируем репозиторий на разработческую машину. Причем на этом же компе стоит весь необходимый софт, типа Apache, MySQL, PHP. Желательно версиями совпадающий с теми, что на хостинге.
- Вносим правки, тестируем. Тестировать надо не копию в репозитории, а локальную, чтобы правки вносить пачками, а не по одной строчке.
- Импортируем нашу протестированную и отлаженную копию в репозиторий, сопроводив её комментариями.
- Заливаем на веб-сервер.
Есть в этом сценарии ряд нюансов. С которыми я ещё до конца не определился.
- В какой среде будем разрабатывать. Есть Eclipse. В нём реализована поддержка svn. Если привыкну к нему, он и будет. Если не привыкну, тогда придётся подыскивать какое-нибудь средство для общения с репозиторием. Можно и из bash.
- Как заливать на веб-сервер. В идеале, должно быть инкрементальное копирование файлов. Но для этого, заливку надо запускать на веб-сервере. Т.е. на нем давать команду svn update. А для этого, нужен внешний IP для svn-сервера. А это расходы, которые пока хочется нивелировать. Следовательно, придется делать полное копирование. Для эти целей надо будет написать скрипт, который будет:
- заходить на хостинг
- скачивать все файлы
- складывать их в архив на локальной машине
- удалять их с хостинга
- заливать на него копию из репозитория посредством svn export.
Вот такие пироги. Буду держать этот пост в тонусе при осуществлении изложенных здесь замыслов. Возможно, всё изменится ;)
3 комментария:
>скачивать все файлы
>складывать их в архив на локальной машине
IMHO не нужно, ибо они у тебя в репозитории SVN есть
Да, теперь я понял, что можно помечать ветки как "релизные" и бэкапы хостинга делать не нужно. Главное не забывать бэкапить репозиторий ;)
Ага.
Отправить комментарий