Связаться по:
[email protected]

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Интеграция хостинга и SVN

Rate this post

Данная статья предназначена для разработчиков, которые работают с SVN и удаленных хостингом с доступом по ftp и ssh, и ограничением на установку чего либо.

hosting-svn

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

Технические требования:

Локальный сервер

  • SVN хранилище ,  добавлен в PATH путь к svn.exe
  • используется python 2.5,  добавлен в PATH путь  к python.exe
  • есть SSH

Удаленный хостинг

  • есть ssh, ftp
  • нельзя устанавливать ПО

C:\Program Files\CruiseControl\projects\project1 содержит код проекта, синхронизуруется с продуктивным сервером. Т.е. код на продуктиве совпадает с кодом в папке.

Скрипт синхронизации у меня расположен C:\svn\apply_svn_changes\publish_web_site.py

Пользователь имеет доступ к ssh, ftp

Сайт на удаленном хостинге находится по пути web/project в папке ftp

Запуск скрипта выполняется следующей командой

Скрипт просматривает папку «C:\Program Files\CruiseControl\projects\project1\source», проверяет версию кода, и сравнивает с версией в хранилище. Таким образом определяет что нужно удалить, а что — скопировать или создать. Для этого используется команда svn diff .Далее происходит формирование плана выполнения и сохранение его во временной директории.
Затем скрипт просматривает план, соединяется по ftp с хостингом и выполняет план. По окончанию отключается, все изменения фиксирует в лог файл

Скрипт также можно загрузить с ключем —help

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.