Испытывая наш 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/77


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

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

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

Add your comment now

Please note: JavaScript is required to post comments.