Project Deploy

Manny

Новичок
Добрый день всем :)
появился у меня такой вот вопрос.

может у кого то есть опыт этого дела в принципе требования такие:
обновление проекта из svn и возможность отката версии на предыдущую рабочую,

Тема для меня очень интересна поэтому хотел бы пообщаться с теми кто этим занимался хоть немного, а не слушать ответы в стиле гугли phing, teamcity, pake, capistrano c webistrano

Извиняюсь если не туда запостил.. из всех названий разделов этот вроде наиболее подходит для моего вопроса :) ну если что - перенесете.
 

fixxxer

К.О.
Партнер клуба
если без "гугли phing", то своими руками оч просто

0) на сервере есть структура вида
- $APP_ROOT/revisions/<номер-ревизии> - последние N, или, если N мало, M
- $APP_ROOT/current -> симлинк на $APP_ROOT/revisions/<номер-рабочей-ревизии>
1) делаем svn export транка (или нужной ревизии), пусть номер ревизии $REVNUM=100500, куда нить в $TMPDIR = /tmp/$random_value
2) cd $TMPDIR; tar czf - . | ssh [email protected] 'tar xzf - -C $APP_ROOT/revisions/100500 && ln -s $APP_ROOT/revisions/100500 $APP_ROOT/current && sudo apachectl graceful (или nginx/fpm или что там)'
3) в случае необходимости отката, просто меняем симлинк.

Разумеется, перед apachectl graceful может быть запущен какой-то скрипт миграции.
 
Сверху