Испытывая наш SVN сервер, гоняя туда-сюда файлы, дополняя, удаляя строки и другие файлы — почувствовали одно маленькое неудобство. Нам захотелось, что бы сервер собирал в единое целое наш проект из кусочков каждого выложенного файла и публиковал результат того что получилось в итоге.

Немного почитав про svn, выяснилось что такое уже придумали до нас :), осталось только настроить.
Потираем ручки, разминаем пальцы, и вперед!!

Проводим настройку apache на какой-нибудь алиас, и автоматизируем процесс с выполнением svn команд.

apache:

pin# edit /usr/local/etc/apache22/extra/httpd-vhosts.conf

Alias /svn_public /usr/local/www/svn/public/
<Directory /usr/local/www/svn/public/>
Options Indexes ExecCGI FollowSymLinks
AllowOverride All
DirectoryIndex index.php index.html
Order allow,deny
Allow from all
AuthType Basic
AuthName «Auth SVN Public»
AuthUserFile /usr/local/etc/access/svn-passwd
Require valid-user
</Directory>

Сохраняем конфиг, создаем директорию и рестартуем apache.

pin# apachectl restart

С apache разобрались, теперь нужно автоматизировать «автосбор» проекта в созданную директорию. Идем в наш web репозиторий:
pin# cd /usr/local/www/svn/repositories

pin# ls
myproject

далее идем править конфиги нашего проекта:

pin# cd myproject/hooks/
pin# cp post-commit.tmpl post-commit
pin# edit post-commit
и доводим его до такого вида:
/usr/local/bin/svn up ‘/usr/local/www/svn/public/myproject/’ —username ‘svnUser’ —password ‘svnPasswd’

Досоздаём недостающие директории:
pin# mkdir -p /usr/local/www/svn/public/myproject/
выполним команду, создавая локальный репозиторий:
pin#svn co file:///usr/local/www/svn/repositories/myproject —username ‘svnUser’ —password ‘svnPasswd’
и выставим права:
pin# chown -R www:www /usr/local/www/svn/public

Рестартанём наш svn:

pin# /usr/local/etc/rc.d/svnserve restart

Ну вот.. Супер, теперь за каждой фиксацией проекта, мы получаем результирующий проект по пути http://domain.com/svn_public

Если чего-то не получается, перепроверяем права, и смотрим логи.

Но и этого мне было мало, я решил прикрутить самбу на своем домашнем сервере и примонтировать с него папку как диск под «винду», на которой у меня предварительно был установлен eclipse вместе с плагином для работы с SVN.
Детально узнать о том как прикрутить этот плагин к eclipse, можно набрав запрос в любом поисковике: «Подключение и использование svn-репозитория в Eclipse»

На sambe я сделал полный доступ на папку по паролю и ткнул носом apache на нее же. В результате получилось, что я программирую на eclipse сидя за Windows системой (так уж сложилось в силу ряда условий), и смотрю все что получилось через разные браузеры используя интерпретатор на Unix системе. На Windows системе, также установлен TortoiseSVN.
После того как получается стабильная версия и новые плагины, мы сливаем все на наш svn сервер, и делаем refresh папок (в моем случае — диск S). Если, так получилось — что произошла какая-то не состыковка, делается откат версии или Branch на файлы.

Таким образом, очень ускоряется процесс разработки..

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/?p=77


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

You must be logged in to post a comment.