Кто работал - поделитесь опытом =) По работе приходится изучать - и с нуля все настраивать .. пока ток начал читать манулы и прочие вбиватели мозгов.. про контроль и работу впринципе все ясно - но вот что осталось загадкой имеем настроенный сервак на папку htdocs - ( на линухе ) в сетке светится web-srv на другом сервере - бекапере .. ставлю..настраиваю Svn ок.. все замечательно .. а теперь вопрос - как мне сидя за рабочим местом на винде с установленой тортилой обновить файлы на боевом серваке ? ведь если делать обновление - обновятся данные на бекапе.. а не на серваке - или же svn надо запускать и настраивать на веб- серваке ? если есть какая нить доступная ссылка по этому поводу - меня вполне устроит =) заранее спасибо
Slavka, перечитываю, но не могу понять твою схему. Где у тебя репозиторий и сервер SVN, где рабочая копия и какова цель. Нарисуй чтоли схемку в паинте Может чего подскажу.
Насколько я понял, есть 1 - рабочее место 2 - сервак свн 3 - продакш сервер так вот, с 1 на 3 никак, только с 1 на 2 и потом зайдя на 3 попросить свн обновить состояние файла с 2 на 3.
Можно и без запроса, вроди бы, post-commit хуком на сервере. Тут вот немного есть - http://adw0rd.com/2009/6/25/subversion-hooks/#.UnSbvUCA-Lo. Но репозиторий нужно делать на сервере с проектом, действительно.
artoodetoo сори писал поздно да еше после первых тестов с Svn =) поэтому написал так сумбурно именно так и есть ... ну предполагается что рабочих мест может быть до 5 шт .. поэтому и встает вопрос о контроле чтобы потом не спрашивать как есть сейчас - "эй ты чтото там правиш ?" =) пасиб - время появится попробую а вообше было бы идеально наверно так на свн есть 1 рабочая папка .. обзавем ее JOB - и как только ктото ее обновляет то сервер Svn автоматом кладет на веб сервак этот обновленный файл. захотел сделать копию с этого job себе стянул и все в шоколаде ... Добавлено спустя 3 минуты 49 секунд: или же правильнее будет вот так сделать - svn ставлю на веб сервер .. и к нему монтирую папку с сервера - бекапа ( он то и будет репозитарием) а папку с рабочей копией настраиваю на htdocs
веб сервер и бекап на линухе.. самбу на бекапе не подымал .. Добавлено спустя 5 минут 34 секунды: немного времени появилось .. шас попробую даже по настройке под дебианом чего то нашел =) http://debianworld.ru/articles/ustanovka-i-nastrojka-subver ... an-ubuntu/
Выбор svn vs. git vs. hg вообще слабо связан с процедурой деплоя. В простых случаях и незагруженных сайтах может быть достаточно сделать рабочую копию в DocumentRoot и апдейтить её. Но потом начинаются нюансы - миграция БД, - очистка кеша, - файлы тестов должны быть под VCS, но на продакшене они нафиг не нужны, - разнесение папок - часть в docroot, а приватная вне его и т.д. Ну и сама операция checkout или update она не уровне файловой системы не мгновенная, у тебя может порядка минуты быть раскоряка из старых и новых файлов - наживую это не очень хорошо. Поэтому должен быть скрипт деплоя, который выгружает рабочую копию куда-то в новую папку, затем производит все необходимые действия, вплоть до создания нового конфига вебсервера и затем reload. Это тебе под себя писать, нет универсального решения. Скрипт деплоя можно запускать по ssh. Не каждый commit или push обязательно приводит к деплою. Добавлено спустя 19 минут 12 секунд: Применительно к SVN. Популярный вид папок в репе (хотя необязательный) такой: /trunk /banches /tags Так вот, tags он какбы для релизов или релиз кандидатов. Поэтому и выгрузку на продакшн логично делать в одной процедуре с созданием нового тега. Опять большой простор для творческого написания шелл-скриптов
кажется к концу дня у меня начинают мозги работать в правильную сторону .. я просто немного запутался с принципами работы свн.. но сейчас все становится ясно =) спасибо всем за советы. пришел к выводу что 1. свн сервер и репозиторий обязаны быть на 1 сервере ( в моем случае это будет бекап) для уменьшения нагрузки по сети 2. наконец то я понял как работают хуки .. это как раз то что надо в моем случае =) у меня просто долгое время был затык в том что я думал, что сервер хранит файлы в открытом виде и эту папку ( trunk) можно настроить непосредственно для вывода пользователю =) + еще дома сосредоточиться не давали .. жена дергала =)